Utz Grimminger: Handhabung von undefinierten Variablen in älteren Browsern?

Beitrag lesen

Liebes Forum,

ich habe mir gerade ein JS abgequält, bei dem ich ein paar Fallen sehe, über die manche (ältere) Browser stolpern könnten.
Da ich im Augenblick nur IE 4 und NS 4.6 zur Verfügung habe, einfach mal die Frage in die Runde, ob mein Script evtl. die von mir befürchteten Probleme hervorrufen könnte.

Es dreht sich um ein Script zur Überprüfung, ob ein Zweitfenster geöffnet oder geschlossen und es je nachdem zu öffnen oder nen Focus draufzusetzen. Das ist das Script:

<SCRIPT LANGUAGE="JavaScript">

var koepenick;
var treptow;

function altstadt()
{
    if(koepenick && koepenick.closed == false) koepenick.focus();
    else koepenick = window.open("plan.htm","Koepenick","toolbar=no,width=465,height=518,left=5,top=5");
}

function park()
{
   if(treptow && treptow.closed == false) treptow.focus();
   else treptow = window.open("plantre.htm","Treptow","toolbar=no,width=465,height=518,left=5,top=5")
}

</SCRIPT>

Das Script funzt mit IE 4 und NS 4.6 prima, aber hier sind die Probs, die ich mir vorstellen könnte:

1. Die Variablen musste ich oberall der Funktion definieren; sie werden als "undefiniert" geführt, bis sie im "else"-Teil gefüllt werden. Die Existenzabfrage im "if" führt erst mal dazu, dass das Objekt als nicht existent gemeldet wird. ABER: Ich könnte mir vorstellen, dass irgendwelche JS-Interpreter die Variablen-Definition zum Anlass nehmen, die "if"-Anfrage mit "ja" zu beantworten und dann zu meckern, dass die ".closed"-Eigenschaft nicht zum Objekttyp passt.
2. Wenn das Zweitfenster geschlossen wird, bleibt die Variable trotzdem definiert (deswegen überhaupt erst die Bedingungsverknüpfung). Hier befürchte, dass manche JS-Interpreter beim Schließen des Fensters die Variablren-Definition löschen. Das Script dürfte trotzdem machen, was es soll, aber ich frage mich, ob so was vorkommen kann...

Also, wenn jemand zu den Fragen irgendwas weiß, wäre ich um Antworten dankbar.
Falls wer ältere Browser installiert sowie Zeit & Lust hat, das ganze auszuprobieren: die Testversion steht unter http://www.berlin-suedost.de/spielwiese/index.htm - dort dann auf eines der Stadtplansymbole klicken. Auch hier wäre ich über Erfahrungsmitteilungen sehr dankbar. Ach ja: die Bildwechselfunktion in den Stadtplänen funzt mit NS 2 und IE 3 nicht.

Danke für Tipps & Testen!

Grüße,

Utz