Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 localStorage wird 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 sessionStorage wird 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():

js
addEventListener("storage", (event) => { })

Alternativ können Sie ihn der Ereignisbehandlungs-Eigenschaft der Schnittstelle zuweisen:

js
onstorage = (event) => { }

Ereignistyp

Ein StorageEvent. Erbt von Event.

Event StorageEvent

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:

js
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:

js
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

Browser-Kompatibilität

Siehe auch