MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Browseraktualisierung mit OnBeforeUnload-Ereignis

Soweit ich weiß, können Sie nicht wirklich testen, ob der Browser geschlossen ist. Sie können nur testen, ob ein Fenster (oder eine Registerkarte) geschlossen ist. Das reicht im Allgemeinen aus, es sei denn, es erfolgt eine Seitenaktualisierung, da dies sowohl als Schließen als auch als erneutes Öffnen einer Webseite in einem Fenster oder Tab gilt. Was benötigt wird, ist ein Event-Handler für einen Klick auf die Schaltfläche zum Aktualisieren der Seite des Browsers, aber ich bin mir nicht sicher, ob es einen solchen gibt. Hier ist etwas:

So zeigen Sie die Meldung "Sind Sie sicher, dass Sie diese Seite verlassen möchten?" wann Änderungen übernommen?

und auch

Behandlung des Browser-Schließereignisses und der Seitenaktualisierung

Eine Sache, auf die ich bei dem Versuch gestoßen bin, etwas über einen Ereignishandler für die Seitenaktualisierung zu finden, ist die Vorstellung, "lokalen Speicher" zu verwenden. Sie könnten als Teil des on-before-unload-Handlers ein kleines Datenelement mit Zeitstempel in den lokalen Speicher stellen. Aktivieren Sie eine Art Timer auf dem Server und warten Sie, bis diese Zeit abgelaufen ist, bevor Sie die Sitzung löschen. Wenn Ihre Seite geladen ist, testen Sie den lokalen Speicher für dieses Datenelement. Wenn es existiert und der Zeitstempel sehr aktuell war, wissen Sie, dass die Seite aktualisiert wurde, und können basierend auf diesem Wissen entsprechende Dinge tun – wie das Senden einer AJAX-Nachricht an den Server, die ihn auffordert, die Sitzung noch nicht zu löschen.