Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.javascript > #4985
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | de.comp.lang.javascript |
| Subject | Re: Aktion beim Schließne eines Browserfensters |
| Date | 2018-12-05 22:35 +0100 |
| Organization | PointedEars Software (PES) |
| Message-ID | <c84c6ac7-fb97-bd45-e65e-b6c342e70a22@PointedEars.de> (permalink) |
| References | <g6q2k9F85knU1@mid.individual.net> |
Ralph Stahl wrote:
> Ich möchte erreichen, dass beim Schließen eines Browserfensters über das
> Kreuzchen rechts oben als letzte Amtshandlung die im Browser laufende
> Anwendung noch ordentlich geschlossen wird (Session schließen etc). Nach
> zum Beispiel [1] sollte das durch das Abfangen des onunload-Events
> passieren können. Mir schwebt vor, das so ähnlich zu tun:
>
> $(document).ready(function () {
>
> window.unload = function () {
> $.post('funktion.php');
> };
> ...
> }
>
> In funktion.php soll soll u.a. protokolliert werden, dass ich hier
> "vorbei gekommen" bin (das ist erprobt). Aber es passiert nichts. Auch
> nicht mit onbeforeunload nach [2].
>
> Ein anderes Beispiel fand ich bei stackoverflow [3], ich habs etwas
> abgewandelt, aber das tut auch nichts:
>
> <html>
> <body>
> <script>
>
> function goodBye(evt) {
> console.log('unload');
> return 'good bye';
> }
>
> window.onbeforeunload = goodBye;
>
> </script>
> </body>
> </html>
>
> Warum bewirkt das alles nichts?
1. <http://glasgoogle.de/> (leider ist unsere FAQ etwas angestaubt)
2. Das ist kein gültiges HTML(5): <http://validator.w3.org/>
3. Du schreibst auch nicht, mit welchem/-n Umgebungen Du getestet hast.
Vermutlich geht es zumindest teilweise nicht zum Schutz des Benutzers (was
zeigt die Fehlerkonsole?). Wäre das nämlich möglich, was Du willst, dann
könnte jede Website, ohne dass der Benutzer das beeinflussen kann, beim
Wegnavigieren noch schnell irgendwelche Daten absenden, und der Benutzer
müsste warten, bis das geschehen wäre (oder definitiv fehlschlüge).
Diese beiden Events (“unload” und “beforeunload”) werden nämlich nicht nur
gefeuert, wenn das Browserfenster bzw. der Browser-Tab geschlossen wird.
Dass in unload- und beforeunload-Listenern nicht alles funktioniert, ist
bekannt. Besonders in Firefox sind hier zum Schutz des Benutzers die
Möglichkeiten für Webentwickler stark eingeschränkt. Was sicher geht ist
das Gezeigte: im onbeforeunload-Listener einen String zurückgeben, mit dem
der Benutzer gefragt werden kann, ob er wirklich wegnavigieren will.
Beim unload-Event ist es eventuell auch schon zu spät, weil relevante
Objekte schon nicht mehr verfügbar sind oder währenddessen abgeräumt werden.
In jedem Fall ist es eine Race Condition.
<https://javascript.info/onload-ondomcontentloaded>
Sessions lässt man am besten bei Logout oder mit Timeout expiren
(Session-Cookies und Server-Sessions), da man sich nicht darauf verlassen
kann, dass clientseitiges Scripting verwendet wird.
Übrigens ist jQuery hierfür Overkill; daher das einfache Beispiel auf
Stack Overflow.
> [1] https://www.w3schools.com/jsref/event_onunload.asp
> [2] https://www.w3schools.com/jsref/event_onbeforeunload.asp
*Alle* Bookmarks mit URI-Präfix “https://www.w3schools.com/”
*löschen* und ersetzen durch die äquivalenten mit Präfix
<https://developer.mozilla.org/>.
JETZT. SOFORT.
<https://www.w3fools.com/>
--
PointedEars
Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.
Back to de.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
Aktion beim Schließne eines Browserfensters Ralph Stahl <post@rstahl.de> - 2018-12-05 14:37 +0100
Re: Aktion beim Schließne eines Browserfensters Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-12-05 22:35 +0100
Re: Aktion beim Schließne eines Browserfensters Ralph Stahl <post@rstahl.de> - 2018-12-06 14:24 +0100
Re: Aktion beim Schließne eines Browserfensters "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-12-06 15:35 +0100
Re: Aktion beim Schließne eines Browserfensters Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-12-06 17:21 +0100
Re: Aktion beim Schließne eines Browserfensters Stefan Reuther <stefan.news@arcor.de> - 2018-12-06 18:57 +0100
Re: Aktion beim Schließne eines Browserfensters Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-12-06 21:22 +0100
Re: Aktion beim Schließne eines Browserfensters Stefan Reuther <stefan.news@arcor.de> - 2018-12-07 19:47 +0100
Re: Aktion beim Schließne eines Browserfensters Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-12-07 20:22 +0100
Re: Aktion beim Schließne eines Browserfensters Arno Welzel <usenet@arnowelzel.de> - 2018-12-07 21:17 +0100
Re: Aktion beim Schließne eines Browserfensters "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2018-12-14 00:03 +0100
Re: Aktion beim Schließne eines Browserfensters Arno Welzel <usenet@arnowelzel.de> - 2018-12-14 11:33 +0100
Re: Aktion beim Schließne eines Browserfensters Arno Welzel <usenet@arnowelzel.de> - 2018-12-14 11:34 +0100
Re: Aktion beim Schließne eines Browserfensters "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2018-12-16 21:22 +0100
Re: Aktion beim Schließne eines Browserfensters Stefan Reuther <stefan.news@arcor.de> - 2018-12-17 13:25 +0100
Re: Aktion beim Schließne eines Browserfensters "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2018-12-20 13:32 +0100
Re: Aktion beim Schließne eines Browserfensters Stefan Reuther <stefan.news@arcor.de> - 2018-12-22 11:56 +0100
Re: Aktion beim Schließne eines Browserfensters "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2019-01-02 13:22 +0100
Re: Aktion beim Schließne eines Browserfensters Arno Welzel <usenet@arnowelzel.de> - 2019-01-03 08:50 +0100
Re: Aktion beim Schließne eines Browserfensters Stefan Reuther <stefan.news@arcor.de> - 2018-12-14 18:56 +0100
Re: Aktion beim Schließne eines Browserfensters Arno Welzel <usenet@arnowelzel.de> - 2018-12-15 12:48 +0100
Re: Aktion beim Schließne eines Browserfensters "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2018-12-16 21:43 +0100
Re: Aktion beim Schließne eines Browserfensters Jan Novak <repcom@gmail.com> - 2018-12-10 10:02 +0100
Re: Aktion beim Schließne eines Browserfensters Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-12-10 21:26 +0100
Re: Aktion beim Schließne eines Browserfensters Arno Welzel <usenet@arnowelzel.de> - 2018-12-07 21:09 +0100
Re: Aktion beim Schließne eines Browserfensters Arno Welzel <usenet@arnowelzel.de> - 2018-12-07 21:13 +0100
Re: Aktion beim Schließne eines Browserfensters Ralph Stahl <post@rstahl.de> - 2018-12-10 10:46 +0100
csiph-web