Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.javascript > #4985

Re: Aktion beim Schließne eines Browserfensters

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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