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


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

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-06 17:21 +0100
Organization PointedEars Software (PES)
Message-ID <a5056c41-e5c6-2b5e-2728-f4bcb6b3d50a@PointedEars.de> (permalink)
References <g6q2k9F85knU1@mid.individual.net> <c84c6ac7-fb97-bd45-e65e-b6c342e70a22@PointedEars.de> <g6sm8cFpivpU1@mid.individual.net>

Show all headers | View raw


Ralph Stahl wrote:
> Das Problem ist bereits gelöst, 

Nein, Du hast nur ein neues Problem erzeugt.

> siehe unten.

Ja, genau.

> Thomas 'PointedEars' Lahn schrieb:
>> 3. Du schreibst auch nicht, mit welchem/-n Umgebungen Du getestet hast.
> 
> Nur Firefox, darin soll eine bestimmte Anwendung laufen, ist so vereinbart.

Das ist immer noch eine unzureichende Angabe.  Welche Version von Firefox,
welches Betriebssystem?

>> 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).
> 
> Genau das tut die gefundene Lösung nun.

Und zusätzlich blockiert sie im Worst Case den Browser komplett, zumindest
aber den entsprechenden Browser-Tab bzw. das -Fenster.

> Auszug:
> 
> $(document).ready(function () {
>     $(window).on('unload', function () {
>     $.ajax({
>        'url': 'meineaktionen.php',
>        'async': false
>        // https://stackoverflow.com/a/19274533/9776286
>     });
>     ...
> });
> 
> Entscheidend ist das 'async':false, weil eben sonst der Tab/Browser weg 
> wäre, bevor die Aktion ausgeführt werden konnte.

Und weil das im Worst Case den Browser komplett blockiert, ist dies
deprecated und demnächst wird die Unterstützung dafür entfernt werden.
So zumindest die Aussage einiger Browserhersteller.

Sieht man deshalb als Warnung in den Chrome Dev Tools (Chromium, Chrome)
in der Script-Console, vermutlich auch in Firefox.

Es ist deshalb zu erwarten, dass das zuerst in onbeforeunload/onunload nicht
mehr funktionieren wird.

> In meinefunktionen.php wird z.B. die laufende Session gekillt, das ist hier wichtig.

Das ist Unsinn, wie bereits erklärt.

>> Diese beiden Events (“unload” und “beforeunload”) werden nämlich nicht nur
>> gefeuert, wenn das Browserfenster bzw. der Browser-Tab geschlossen wird.
> 
> Ja, auch beim Reload, zumindest "beforeunload", das weiß ich.

Du nimmst also in Kauf, dass der Benutzer seinen Browser nicht benutzen
kann, bis sich Dein Server mal bequemt, zu antworten (oder es irgendwann
doch einen Timeout gibt).

>> 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.
> 
> Gewiss. Hier muss es aber eben auch gehen, wenn das Fenster einfach 
> geschlossen wird.

Nein, das muss es nicht.  Man setzt einfach ein Session-Cookie, das wird
dann automagisch vom Browser weggeräumt.  Und auf dem Server setzt man das
Session-Expire nicht auf den Sanktnimmerleinstag, sondern z. B. auf 2
Stunden.  Wenn im eingeloggten Zustand eine Aktion stattfindet, macht man
ein Session-Refresh.

>> Übrigens ist jQuery hierfür Overkill; daher das einfache Beispiel auf
>> Stack Overflow.
> Nur funktionieren diese eben nicht,

Doch, das tun sie.  Du hast nur keine Ahnung, was Du tust.


PointedEars (ZCE PHP)
-- 
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