Marco: Javascript und Frames

Hallo,

ich habe folgendes Problem, ich möchte ein Bild mit Javascript in einem kleinen Fenster öffnen, was auch funftioniert.
Allerdings möchte ich beim anklicken eines anderen Thumbnails ein anderes Bild-Fenster öffnen, und vorher das alte schließen.
Hier der Auszug aus meinem Script, der das Schließen bewerkstelligen soll:

if ( parent.Fenster ) { Fenster.close(); }

In einer HTML-Seite ohne Frames funktioniert es, aber mit einer Frameseite schließt das alte Bild-Fenster nicht.

Muß ich noch den Namen des Framebereiches im Parent-Fenster angeben?
Es ist ein 2-Frame in einem 2-Frame.
Kann mir da jemand helfen?

Danke und Gruss
Marco

  1. nabend,

    also wo rufst du denn den auszug, den du da angegeben hast, auf? wenn du auf eine anderes thumb klickst? denn normalerweise sollte das ganze kein prob sein, wenn du das popup-fenster richtig aufrufst:

    var FENSTERNAME = window.open([...]);

    wenn du jetzt beim klick auf ein anderes thumb durch den kurzen aufruf FENSTERNAME.close() machst, dann wird das popup auch geschlossen, egal ob du nun mit frames arbeitest oder nicht.

    wenn das jetzt nicht passt, poste doch mal ein wenig mehr code, damit man weiss, wie du überhautp den gesamten poup-aufruf für die thumb-liste realsiert hast ...

    gruß hein

    1. Hier mal die kpl Funktion.

      function popup(datei) {
       var groesse_x=300;
       var groesse_y=200;
       if ( parent.Fenster ) { Fenster.close(); }
       Fenster = window.open('', null, 'top=300,left=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no, width=' + groesse_x + ', height=' + groesse_y);
       Fenster.document.write('<html><head><title>vergrößertes Bild</title></head><body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0"><table width="100%" height="100%" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle"><a href="javascript:window.close();" title="Close window"><img src="'+datei+'" border="0" onload="window.resizeTo(this.width+15, this.height+35);"></a></td></tr></table></body></html>')
       Fenster.focus();
      }

      Die Funktion wird wie folgt aus einer HTML-Seite aufgerufen (jedes Thumb hat so einen Aufruf):

      <a href="javascript:popup("images/bild1.jpg")"><img
          src="images/bild1k.jpg" WIDTH="100" HEIGHT="75"></a>

      Marco

      1. hiho,

        nimm mal das "parent" weg. sollte dann schon ausreichen ...
        eventuell die abfrage erweitern in "if(window.Fenster)".

        das parent würde dich aber aus dem frameset leiten, und davon ausegehen, dass du das popup "Fenster" direkt von dieser frameset-datei vorher mal geöffnet hattest.

        gruß hein

        1. Jup,
          das wars, funktioniert jetzt astrein mit den Frames zusammen!!!

          Danke Hein.

          Volker, Deine Variante klappt auch, bleibe aber lieber bei meiner
          alten Variante,

          Danke trotzdem!!!

          1. Hi,

            ein Problem wirst Du aber wohl doch noch haben. Habe ich jedenfalls im Mozilla und Opera erfahren: das neue Fenster wird hier gleich mitgeschlossen. Probier's mal aus...

            freundliche Grüße
            Ingo

  2. Hallo,

    ich habe folgendes Problem, ich möchte ein Bild mit Javascript in einem kleinen Fenster öffnen, was auch funftioniert.
    Allerdings möchte ich beim anklicken eines anderen Thumbnails ein anderes Bild-Fenster öffnen, und vorher das alte schließen.

    wieso machst du das ganze in getrennten fenstern wenn sowieso nur jeweils eins geöffnet sein soll? öffne die bilder doch im gleichen fenster, das sollte auch innerhalb eines framesets funktionieren:

    <html>
    <head>
     <script type="text/javascript">
      function openWindow(url) {
        window.open(url,"Fenster","width=300,height=400,left=0,top=0");
      }
     </script>
    </head>
    <body>
     <a href="javascript:openWindow('pic1.gif')">eins</a><br>
     <a href="javascript:openWindow('pic2.gif')">zwei</a><br>
    </body>
    </html>

    grüsse aus berlin, volker

    1. Hallo Volker,

      ich möchte die Bilder als zusätzliche Info aufrufen, wenn ich ein anderes Thumb anklicke, soll das erste Bildfenster geschlossen werden und das neue angezeigt werden. Ohne Frame klappt es komischerweise, das ist ja das, was ich nicht verstehe.
      Mit Frame wird immer nur das alte Bild wieder in den Vordergrund geholt.
      Werde aber deine Variante gleich mal probieren...

      Gruss Marco