Martin: opener auf Existenz überprüfen

Ich habe über den Befehl window.open() ein neues Fenster geöffnet. Klickt man in dieses, öffnet sich im Mutterfenster die entsprechende Datei und das kleine Fenster schließt sich wieder. Dumm nur wenn das Mutterfenster schon geschlossen ist.

Gibt es eine Möglichkeit dies zu überprüfen und im Fall dass es schon geschlossen ist ein neues Browserfenster zu öffnen?

Gruß
Martin

  1. Moin!

    Gibt es eine Möglichkeit dies zu überprüfen und im Fall dass es schon geschlossen ist ein neues Browserfenster zu öffnen?

    Jedes window hat eine Eigenschaft .closed. Also
      if (opener.closed) {
        // schon wech, neu aufmachen
      }

    Hab aber mal gehoert, das manche IEs da ein bisschen rumspinnen.

    So long

    1. hi,

      Hab aber mal gehoert, das manche IEs da ein bisschen rumspinnen.

      spinnen tut er (ie4/5) hier leider gruendlich. Im ie gehts  nur, wenn man den error abfaengt. Hier eine komplette Funktion, um urls in opener zu laden, neufenster ist das popup (<insider>credits to Lummerland</insider>):

      function opUrl(page) {
              onerror =       function(){
                      alert("ups, leider haben Sie das andere Browserfenster schon geschlossen");
                      return true;
                                      }
              if(opener && !opener.closed && opener.neufenster) {
                      opener.top.content.location.href = page;
                      self.close();
              }
              else alert("ups, leider haben Sie das andere Browserfenster schon geschlossen");
              onerror =       function(){
                      return false;
              }
      }

      hth

      Guesse  Joachim