Guido Nultsch: Mit window.closed prüfen, ob window-object geladen ist

Ich habe eine Seite, auf der man ein weiteres Fenster öffnen kann.
Verlässt man die Seite, soll das 2. Fenster wieder geschlossen werden.
Jedoch beim Aufruf der opener-Seite erhalte ich eine Fehlermeldung für das Script, welches prüfen soll, ob das Zweite fenster überhaupt geöffnet ist.
Die Opener-Seite hat folgenden Code
...
<script language="JavaScript" src="neu_vollbild.js" type="text/javascript"></script>
<script language="JavaScript" src="schliess.js"></script>
...
<BODY onUnload="schliess()">

das Script "schliess.js" sieht folgendermassen aus:

function schliess()
{
if(chatfenster.closed == true) return;
chatfenster.close();
}

Ich bekomme ab und  zu beim Aktualisieren zumindest im IE5 eine Fehlermeldung, das "chatfenster" (also, das Fenster, welches eventuell vom User geöffnet wird) undefiniert sei, wenn es noch nicht geöffnet wurde.

  1. Hi

    function schliess()
    {

    »»  if(chatfenster) {chatfenster.close();}

    }

    so würd ich es machen.

    ALEX

    1. function schliess()
      {
      »»  if(chatfenster) {chatfenster.close();}
      }

      geht so nicht - bringt: "chatfenster ist undefiniert".

      Du mußt vorher var chatfenster=null deklarieren und dann abfragen:

      if(chatfenster) {chatfenster.close();}

      Gruß
      Timothy

  2. Vielen Dank,
    der Bug war wirklich, dass
    var chatfenster = null
    gefehlt hat

    Das Script 'schliess.js' sieht jetzt so aus (beide Varianten gehen)

    var chatfenster = null

    function schliess()
    {
    //if(chatfenster) {chatfenster.close(); //Variante 1
    if(chatfenster.closed == true) return;  //Variante 2 Zeile 1
    chatfenster.close();                    //Variante 2 Zeile 2
    }

    Also, nochmals Danke
    Guido