Opera ignoriert PopUp
michael80
- javascript
Hallo Leute
Ich habe eine Galerie erstellt, die von jedem Bild eine Vorschau zeigt. Klickt man auf ein Bild, so soll sich in einem PopUp das entsprechende Bild vergrößert laden - soweit so gut.
Da die Bilder unterschiedliche Größen haben, muss sich auch die PopUp Größe dem Bild anpassen - macht es auch.
Würde aber ein Nutzer auf ein weiteres Bild klicken, ohne das vorherige zuschließen, bleibt die Größe des PopUps gleich bzw. sie wird nicht dem neuen Bild angepasst.
Ich habe daher mein Script so verändert, das es zuvor prüft, ob das PopUp bereits offen ist. Ist es offen, dann schließe es und öffne es mit den neuen Abmassen neu, ist es zu, dann öffne mit den entsprechenden Abmassen...
Mein Code:
--
<script language="JavaScript" type="text/javascript">
<!--
var checkopenwin = false;
function showrealpic(url, x_size, y_size) {
if (checkopenwin == true){
picwin.close();
checkopenwin = false;
}
if (checkopenwin == false){
var picwin_x = (screen.width-x_size)/2;
var picwin_y = (screen.height-y_size)/2;
picture = "<a class='pic' href='javascript:self.close()'><img class='pic' src='"+url+"' title='Schließen' alt='Schließen'></a>";
picwin = window.open("","Galerie","height="+(y_size+30)+", width="+(x_size+30)+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,left="+picwin_x+", top="+picwin_y+"");
picwin.document.write("<HTML>\n<HEAD>\n<TITLE>Galerie || derletztekick.de :: Mein kleines Scriptarchiv </TITLE>\n<meta http-equiv='imagetoolbar' CONTENT='no'>\n<BASE HREF="<?php echo "http://",$_SERVER['SERVER_NAME'],"/";?>" target="_self">\n<link rel='stylesheet' href='/style.css' type='text/css'>\n</HEAD>\n<BODY>\n<CENTER>" + picture + "</CENTER>\n</BODY>\n</HTML>");
picwin.document.close();
picwin.focus();
checkopenwin = true;
}
}
//-->
</script>
--
Das oben gezeigt funktioniert im IE6, im Netscape7 und mit Firefox 0.9 bestens.
Opera7 macht leider Probleme:
Klickt man im Opera auf ein Bild, so wird das PopUP erstellte und das Bild angezeigt. Klickt man auf ein weiteres Bild, ohne das alte geschlossen zu haben, geht nichts mehr. D.h. dea PopUp schließt sich noch aber danach kann man NICHTs mehr machen, außer den "Zurück" Button betätigen. Links im Menü udg. kann man nicht mehr ansteuern...
Was ist am JS falsch, bzw. warum kann Opera mit dem JS nur in Teilen was anfangen?
MichaBeste Grüße Micha
Hallo Micha
Ist im Opera die Einstellung, alles Popups öffnen aktiviert (Extras, Schnelleinstellungen). Denn falls unerwünschte Popups blockiert werden, würde vermutlich genau das Beschriebene auftreten.
Gruss
Louis
Ist im Opera die Einstellung, alles Popups öffnen aktiviert
Hi, ja, die Einstellung PopUps zulassen ist aktiviert. Opera öffnet ja auch die Bilder im PopUp aber man darf nicht vergessen das alte Bild zuschließen, bevor man ein weiteres anklickt und dabei versteh ich nicht, warum er es nicht macht...
micha
Hoi !
Das hab ich bei mir im Archiv gefunden, vielleicht bringt's neue Inspiration !? Gruß Frodo
<script type="text/javascript">
var win;
function popup (breite,hoehe,bild){
win=window.open (bild,"fenster","width=100,height=100,resizable=yes,top=0,left=400");
win.focus ();
win.resizeTo (breite,hoehe);}
function schliessen()
{ if (win)
{if (!(win.closed))
{ win.close(); }}}
</script>
<body onunload="schliessen()">
<a href="javascript:popup (390,540,'bild1.gif')">bild 1</a>
<a href="javascript:popup (435,620,'bild2.gif')">bild 2</a>
<a href="javascript:popup (360,490,'bild3.gif')">bild3</a>
<a href="javascript:popup (400,500,'bild4.gif')">bild 4</a>
Muss ich mal kucken, ich denke abder nicht, da ich NICHT mir body onLoad() arbeiten kann, da die Seite eine PHP Seite ist und somit die "unterseiten" keinen <body> Tag haben
Bin nun nach Stunden im Archiv fündig geworden --> http://forum.de.selfhtml.org/archiv/2003/6/t49157/#m268302
Nochmal Danke!
Micha