Tom: wie kann ich abfragen ob ein popup noch geöffnet ist?

hi - wie kann ich abfragen ob mein popup noch offen ist, oder nicht...?

hab ein window offen:

meinwindow = window.open(x,"meinwindow","width=" + w + ",height=" + h +   >",dependent=yes");

kann aber NICHT auf das fenster zugreifen, wenn ich den oben genannten befehl in einer funktion aufgerufen hab.

stattdessen öffne ich das fenster immer neu, nur mit einer anderen url (x). soweit so gut

woher weiß das root-window, ob nun das popup noch offen ist, oder geschlossen wurde?

  1. Hallo.

    hi - wie kann ich abfragen ob mein popup noch offen ist, oder nicht...?

    Entweder.
    http://selfhtml.teamone.de/javascript/objekte/window.htm#closed

    woher weiß das root-window, ob nun das popup noch offen ist, oder geschlossen wurde?

    Oder.
    Bau einfach 'ne Variable ins opener-Fenster ein.
    Also z.B. im Ursprungsfenster steht, nachdem das PopUp geöffnet wurde: is_noch_offen = true;
    Und im body des PopUps steht: onunload="opener.is_noch_offen = false";

    Gruß
    Norbert

    1. Hallo.

      hi - wie kann ich abfragen ob mein popup noch offen ist, oder nicht...?

      Entweder.
      http://selfhtml.teamone.de/javascript/objekte/window.htm#closed

      woher weiß das root-window, ob nun das popup noch offen ist, oder geschlossen wurde?

      Oder.
      Bau einfach 'ne Variable ins opener-Fenster ein.
      Also z.B. im Ursprungsfenster steht, nachdem das PopUp geöffnet wurde: is_noch_offen = true;
      Und im body des PopUps steht: onunload="opener.is_noch_offen = false";

      Gruß
      Norbert

      fett - das is net idee... da wär ich irgendwie nie drauf gekommen, obwols so easy is ...

      thx!

      1. Hallo,

        OnUnload wird aber so weit ich weiß nicht in allen Browser ausgeführt...

        geht das nicht einfach mit
        if (meinwindow)...

        das zu testen dürfte nicht sehr lange dauern, bin mir aber ziemlich sicher...

        Odium

        1. Hallo.

          OnUnload wird aber so weit ich weiß nicht in allen Browser ausgeführt...

          onunload is JavaScript 1. Das ist jedem Browser bekannt, der JavaScript kann.

          geht das nicht einfach mit
          if (meinwindow)...

          Nope. das sagt dir nur, dass es 'ne Variable meinwindow gibt, wenn das funktionieren soll, musst du sie beim Schließen des Popups löschen.

          bin mir aber ziemlich sicher...

          Ich mir auch.

          Gruß
          Norbert

          1. mhh.. irgendwie funtzt des alles net, sorry...

            ich mein bei mir läuft das mit php.

            und jedesmal wenn er reloaded dann kennt er zuerst mal gar nix mehr von vorher.

            somit kennt er auch den namen des windows nicht.

            jetzt geht zwar das, dass ich dem opener ne variable geb und wieder wegnehm mit onload & ununload.

            aber nach ein paar maligem öffnen des fensters mit window.open

            quatscht er mich an dass der des net unterstützt oder so.

            also würd ich des gern mit location.replace() machen.

            aber ich kann ja mein window net ansprechen, weil es ja ein paar seiten vorher geöffnet worden ist. also Jscript kennt den namen des windows nicht mehr.

            also bräucht ich ne funktion, die ein window mit dessem titel anspricht.

            gibts sowas ? oder ne andre lösung?

            1. Hallo Tom,

              zum Abfragen, ob das Popup noch geöffnet ist:

              var meinfenster=false;

              function openpop(url)
              {
              if(meinfenster&&!meinfenster.closed)
              meinfenster.location.href=url;
              else meinfenster=open(url,"");
              meinfenster.focus();
              }

              und jedesmal wenn er reloaded dann kennt er zuerst mal gar nix mehr von vorher.

              sobald der opener reloaded ist, kannst du nicht mehr auf das Fenster zugreifen. Bei Frames hättest du die Möglichkeit, die Funktion in das Frameset oder in einen Frame zu legen, der nicht reloaded wird.

              Grüße, Stefan