Browser-kompatibel "opener"-Fenster schließen

Nummer2

Mitglied
Hi!

Ich habe ein Frameset, in einem Frame ist ein onUnload-Befehl, der ein Popup öffnet. Dieses Popup enthält eine JS-Funktion, die checkt, ob der opener (also das Frameset) nur reloadet oder ganz geschlossen wurde. Wurde es geschlossen, wird im Popup eine neue Datei geladen, wurde beim opener nur ein Reload durchgeführt, wird das Popup geschlossen.

Hier der Code im Popup (aufgerufen mit onLoad="setTimeout('getexit()',1000);") – eine Sekunde müsste reichen, um festzustellen, ob das opener-Fenster noch/wieder da ist:

function getexit() {
if (opener == null || opener.closed) {
document.location.href='exit.html';
} else {
self.close();
}
}

Nix Kompliziertes also. Allerdings habe ich festgestellt, dass diese Konstruktion nur im IE 5.5 und 6.0 funktioniert, beim IE 5.0 wird das Fenster immer geschlossen. Der scheint den opener nicht identifizieren zu können. Und bei Netscape 7 wird noch nicht mal das Popup aufgerufen, wenn ich das Hauptfenster schließe, führt der "onUnload" keine Funktionen aus? Andere Popups werden anstandslos geöffnet, an der Funktion kann's nicht liegen.

Ich brauche unbedingt eine Lösung, die IE 5.0/5.5/6.0 und Netscape 6.2+/7 abdeckt. Hilft mir einer?

Danke!
Nummer2
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück