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


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

Re: Aktion beim Schließne eines Browserfensters

Path csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Stefan Reuther <stefan.news@arcor.de>
Newsgroups de.comp.lang.javascript
Subject Re: Aktion beim Schließne eines Browserfensters
Date Thu, 6 Dec 2018 18:57:21 +0100
Lines 39
Message-ID <pubrei.11c.1@stefan.msgid.phost.de> (permalink)
References <g6q2k9F85knU1@mid.individual.net> <c84c6ac7-fb97-bd45-e65e-b6c342e70a22@PointedEars.de> <g6sm8cFpivpU1@mid.individual.net>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace individual.net xUjfOczkfUjck09G/i7aGwgrWDUmIvvfTG6OSGGh3GcNWTpi41
Cancel-Lock sha1:GtNSJwNIpDHDsfCSlhthgvNiaPo=
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 Hamster/2.1.0.1538
In-Reply-To <g6sm8cFpivpU1@mid.individual.net>
Xref csiph.com de.comp.lang.javascript:4989

Show key headers only | View raw


Am 06.12.2018 um 14:24 schrieb Ralph Stahl:
> Genau das tut die gefundene Lösung nun. 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. In meinefunktionen.php
> wird z.B. die laufende Session gekillt, das ist hier wichtig.

Das verlässt sich drauf, dass der Browser dich im onunload noch Dinge
tun lässt, die Zeit brauchen. Darauf würde ich mich nicht verlassen.

Im Zweifelsfall hat der Nutzer den Browser per Taskmanager beendet (zum
Beispiel, weil er davon genervt war, dass der Browser in einem
synchronen XMLHTTPRequest hing), da wird ein onunload sowieso nicht
ausgeführt.

Besser wäre da eine Lösung, wo der Browser extra eine Socketverbindung
zum Server aufbaut. Wenn das Browserfenster geschlossen wird, egal aus
welchem Grund, wird die Socketverbindung geschlossen; daran kann die
Serverseite erkennen, dass die Session beendet ist. Eine Möglichkeit
wäre ein Websocket. Das braucht serverseitig aber ein wenig mehr als nur
ein paar php-Skripte.

Eine andere Lösung wäre, z.B. alle 10s ein Ping an die Webseite zu
schicken. Empfängt der Server für 30s kein Ping, ist die Session
beendet. Das ist auch mit normalen php-Skripten realisierbar, und ist
speziell im lokalen Netzwerk durchaus vertretbar.


  Stefan

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