Gewusst wie: löschen Sie den lokalen Speicher auf browser schließen, aber nicht aktualisieren?
Meine Anforderungen sind:
-
Haben, um zu erkennen, browser schließen-Ereignis, und es sollte nicht ausgeführt onpage aktualisieren.
-
Wenn der code funktioniert nur auf browser schließen, dann löschen localstorage.
-
Schon habe ich versucht mit onbeforeunload-aber es ist die Ausführung auf browser schließen, event-und page-refresh-Ereignis.
-
Also mein code funktioniert nur auf browser-close-Ereignis nicht auf Seite aktualisieren (F5 oder durch Klick auf das aktualisieren-symbol).
- Mögliche Duplikate stackoverflow.com/questions/1631959/browser-window-close-event
- Die storage-Aspekt macht es vielleicht deutlicher.
- Warum die Mühe mit den lokalen Speicher, wenn Sie nicht wirklich gehen, um zu beharren, nichts?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man nicht sagen, der Unterschied zwischen der browser wird geschlossen und das Fenster/tab mit deiner Seite aktualisiert wird. Die information ist einfach nicht vorhanden.
Für Ihren bestimmten Fall, es klingt wie Sie vielleicht in der Lage sein zu verwenden session storage anstatt der lokalen Speicherung. Die Punkt der session-Speicherung ist, dass es abläuft, wenn der Benutzer fertig mit der Seite. Sie können versuchen, die mit dieses Beispiel:
Für mich auf Firefox, Chrome und IE9 (also vermutlich IE9+), erfrischend nicht klar, session storage, aber nach dem schließen der Registerkarte tut.
Alternativ können Sie einen Zeitstempel in den lokalen Speicher, wenn die Seite entladen wird (von
onbeforeunload
), und Wann kommen Sie zurück auf die Seite in der Zukunft, wenn dieser timestamp ist ausreichend veraltet, löschen des Speichers und neu zu beginnen. Dass nicht klar, das speichern, wenn Sie die Seite verlassen, aber nicht handeln, als ob es immer Tat, wenn Sie kommen wieder nach einer Pause.opener
ist der alt-tab). Also Klick auf einetarget="_blank"
link oder mitwindow.open
in der Registerkarte "source" bedeutet, dass die Ziel-Registerkarte teilt seine session-Speicherung.Gibt es kein event, dass gefeuert wird, wenn nur der browser geschlossen wird. Der nächste ist der onbeforeunload Ereignis wird ausgelöst, wenn das Fenster über dem entladen und seine Ressourcen.