Arne P.: "OnClose"-Funktion

Beitrag lesen

Hi.

onUnload reagiert ja leider auch auf einen Seitenwechsel innerhalb des Projektes und das ist nicht Sinn und Zweck meines Vorhabens. Es soll lediglich bei Alt-F4 oder beim X ein kurzes Script ausgeführt werden und die Sitzung damit dann beendet sein. SessionID's oder Cookies möcht ich nicht, da sie immernoch eine gewisse "Nachlaufzeit" besitzen, auch wenn der User die Seite schon verlassen hat.

Verstehe!
Ich habe ein wenig gebastelt und folgendes zu Stande gebracht:

<html>
    <head>
    <script>
    <!--
        function unload()
        {
            if (exit == 1) window.open("delete.php","x");
        }
        exit=1;
    //-->
    </script>
    </head>
    <body onunload="unload()">
        <h1>Datei 1</h1>
        <a href="test2.html" onclick="exit=0">Datei 2</a>
    </body>
    </html>

Beim Laden des Dokuments wird die Variable exit auf 1 gesetzt. Wenn ein Link geklickt wird, wird das Event onclick ausgeführt und exit auf 0 gesetzt, dann wird die neue Seite aufgerufen. Dabei wird die Funktion unload() aufgerufen. Da exit auf 0 steht, wird kein neues Fenster aufgerufen.
Wenn die Seite nun nicht über einen Link verlassen wird (Schließen des Fensters, Eingabe eines anderen URL), bleibt exit auf 1, also wird ein neues Fenster mit "delete.php" aufgerufen.

Funktioniert leider nur im Opera6 und IE5 beim Schließen _und_ URL-Wechsel, bei NN4.7 und Moz1 _nur_ bei URL-Wechsel. Mozilla/NN kennt anscheinen kein onunload="" beim Schließen des Fensters, kann das sein?

MfG, Arne P.