Axel Richter: parent.self.close(); -> Ja / Nein

Beitrag lesen

Hallo,

<script type="text/javascript">
<!--
logout();
function logout(){
self.close();
alert("Kein Logout");
}
//-->
</script>

Was passiert wenn wir dieses Script ausführen?

Das kommt auf die Umgebung an. Im IE gilt:

Ist self ein Popup-Fenster ohne History, dann wird self.close() ausgeführt. Während dessen sendet JavaScript eine alert-Box. Weil diese aber an das Fenster gebunden ist, wird self.close() scheitern.

Ist self ein Fenster _mit_ History, dann wird self.close() im IE nicht sofort ausgeführt, sondern der IE fragt erst, ob das Fenster _wirklich_ geschlossen werden soll (Ja/Nein). JavaScript sendet allerdings trotzdem seine alert-Box. Weil diese aber an das Fenster gebunden ist, wird self-close scheitern. Das Scheitern hat nichts mit der Ja/Nein-Entscheidung zu tun.

In anderen Browsern kann das Schließen funktionieren, weil die alert-Boxen nicht an das Fenster (den Tab) gebunden sind. Die Nutzerabfrage kann so aber nicht realisiert werden.

Du kennst http://de.selfhtml.org/javascript/objekte/window.htm#confirm?

viele Grüße

Axel