André Mantz: wie erkennen, wenn Browserfenster geschlossen wird?

Beitrag lesen

Hallo Liza,

Also: ich würd tippen, es klappt nicht.

Und es klappt doch ... bin gerade selbst drauf gekommen. Folgende Anweisung löst das Problem:

syswrite(STDOUT," ") || &meinesub();

Mit dem Befehl syswrite schicke ich ein Leerzeichen an den aufrufenden Browser (Standard-Ausgabe). Syswrite gibt tatsächlich einen Fehler zurück, falls der Browser die Seite nicht mehr offen hat oder selbst nicht mehr offen ist. Diesen Fehler fange ich dann ab und verzweige in meinem Script entsprechend.

P.S.: Ich beherrsche allerdings kein Perl, sondern nur PHP. Dort ist die prinzipielle Überlegung aber die selbe.

Ob das in PHP auch geht weiß ich nicht. Da aber PHP und Perl eng verwandt sind denke ich, dass es auch in Perl einen entsprechenden Befehl gibt, mit dem man systemnahe Ausgaben machen kann.

Noch was zur Lösung mit clientseitigen Scripts: egal ob mit JS, VBS oder sonstwas realisiert haben diese Lösungen immer zwei Haken:
1. der Browser muß die entspr. Scriptsprache unterstützen und diese auch aktiviert haben, sonst geht gar nix.
2. das clientseitige Script wird nicht ausgeführt, falls der Browser oder sogar der PC des Users abstürzt.

Gruß, André