storage.StorageArea.onChanged

Wird ausgelöst, wenn ein oder mehrere Elemente in einem Speicherbereich geändert werden, und gibt Details zu den Schlüsseln zurück, die sich geändert haben. Im Vergleich zu storage.onChanged ermöglicht dieses Ereignis, Änderungen in einem der Speicherbereiche zu überwachen: local, managed, session und sync.

Hinweis: In Firefox umfasst die zurückgegebene Information alle Schlüssel innerhalb des Speicherbereichs. Zusätzlich kann der Rückruf auch ausgelöst werden, wenn keine Änderung an den zugrundeliegenden Daten vorliegt. Details der geänderten Elemente können durch Untersuchung des jeweiligen Schlüssels im storage.StorageChange-Objekt festgestellt werden. Siehe Firefox-Bug 1833153.

Firefox lädt Änderungen an den Managed-Storage-Inhalten (aus der JSON-Manifeste-Datei (native Manifest) oder aus den 3rdparty Unternehmensrichtlinien) nur beim Neustart. Daher wird dieses Ereignis in Firefox niemals ausgelöst.

Syntax

js
// local can also be sync, managed, or session
browser.storage.local.onChanged.addListener(listener)
browser.storage.local.onChanged.removeListener(listener)
browser.storage.local.onChanged.hasListener(listener)

Ereignisse haben drei Funktionen:

addListener(listener)

Fügt diesem Ereignis einen Listener hinzu.

removeListener(listener)

Beendet das Lauschen für dieses Ereignis. Das Argument listener ist der zu entfernende Listener.

hasListener(listener)

Überprüft, ob listener für dieses Ereignis registriert ist. Gibt true zurück, wenn der Listener registriert ist, andernfalls false.

Syntax von addListener

Parameter

listener

Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion wird folgendes Argument übergeben:

changes

object. Objekt, das die Änderung beschreibt. Dies enthält eine Eigenschaft für jeden Schlüssel, der sich geändert hat. Der Eigenschaftsname ist der Name des geänderten Schlüssels, und sein Wert ist ein storage.StorageChange-Objekt, das die Änderung dieses Elements beschreibt.

Beispiele

js
/*
Log the old value and its new value of
changes in the local storage.
*/
function logStorageChange(changes) {
  const changedItems = Object.keys(changes);

  for (const item of changedItems) {
    console.log(`${item} has changed:`);
    console.log("Old value: ", changes[item].oldValue);
    console.log("New value: ", changes[item].newValue);
  }
}

browser.storage.local.onChanged.addListener(logStorageChange);

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
onChanged

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Hinweis: Diese API basiert auf der chrome.storage-API von Chromium. Diese Dokumentation basiert auf storage.json im Chromium-Code.