Window: storage-Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2017 browserübergreifend verfügbar.
Das storage-Ereignis der Window-Schnittstelle wird ausgelöst, wenn ein anderes Dokument, das denselben Speicherbereich (entweder localStorage oder sessionStorage) wie das aktuelle Fenster nutzt, diesen Speicherbereich aktualisiert. Das Ereignis wird nicht in dem Fenster ausgelöst, das die Änderung vorgenommen hat.
- Bei
localStoragewird das Ereignis in allen anderen Browsing-Kontexten ausgelöst, die denselben Origin wie das auslösende Dokument haben. Dazu gehören auch andere Tabs mit demselben Origin. - Bei
sessionStoragewird das Ereignis in allen anderen Browsing-Kontexten ausgelöst, die denselben Origin und denselben übergeordneten Browsing-Kontext wie das auslösende Dokument haben. Dazu gehören nur eingebettete iframes im selben Tab, sofern vorhanden, aber keine anderen Tabs.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergegeben.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("storage", (event) => { })
Alternativ können Sie ihn der Ereignisbehandlungs-Eigenschaft der Schnittstelle zuweisen:
onstorage = (event) => { }
Ereignistyp
Ein StorageEvent. Erbt von Event.
Aliase für die Ereignisbehandlung
Neben der Window-Schnittstelle ist die Ereignisbehandlungs-Eigenschaft onstorage auch für die folgenden Ziele verfügbar:
Beispiele
Geben Sie den Eintrag sampleList auf der Konsole aus, wenn das storage-Ereignis ausgelöst wird:
window.addEventListener("storage", () => {
// When local storage changes, dump the list to
// the console.
console.log(JSON.parse(window.localStorage.getItem("sampleList")));
});
Dasselbe lässt sich mit der Ereignisbehandlungs-Eigenschaft onstorage erreichen. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onstorage hinzugefügte Ereignis-Listener ersetzt werden:
window.onstorage = () => {
// When local storage changes, dump the list to
// the console.
console.log(JSON.parse(window.localStorage.getItem("sampleList")));
};
Spezifikationen
| Spezifikation |
|---|
| HTML> # event-storage> |
| HTML> # handler-window-onstorage> |