Die einzige Möglichkeit, etwas zu tun, wenn die Seite geschlossen oder wegnavigiert wird, besteht darin, einen Ereignishandler an das Unload-Ereignis anzuhängen, wie Rocket vorschlägt. Sie sollten sich jedoch nicht darauf verlassen, dass dieses Ereignis ausgelöst wird, da viele Dinge dies verhindern können. Der Browser kann es stoppen, um seine Ressourcen auf andere Aufgaben zu konzentrieren, der Benutzer kann seine Verbindung verlieren, der Browser kann beendet werden usw.
Der zuverlässigste Weg, Benutzer und Sitzungen zu verfolgen, besteht darin, sie in einem bestimmten Intervall KeepAlive-Nachrichten an den Server senden zu lassen. Dann wissen Sie, dass der Benutzer irgendwann zwischen einem bestimmten Zeitstempel und dem Intervall der KeepAlive-Nachricht gegangen ist.
Auf dem Server können Sie dann die Sitzungen durchlaufen, die eine Weile nicht am Leben gehalten wurden, und alle erforderlichen Vorgänge ausführen.
Dieser Ansatz ist jedoch nicht erforderlich, wenn Sie nur einen coolen Abmeldeeffekt erzeugen möchten.