michael80: Opera ignoriert PopUp

Beitrag lesen

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&szlig;en' alt='Schlie&szlig;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