storage.StorageArea.onChanged

Wird ausgelöst, wenn sich ein oder mehrere Einträge in einem Speicherbereich ändern, und gibt Details zu den geänderten Schlüsseln zurück. Im Vergleich zu storage.onChanged ermöglicht dieses Ereignis das Abhören von Änderungen in einem der Speicherbereiche: local, managed, session und sync.

Hinweis: In Firefox enthält die zurückgegebene Information alle Schlüssel innerhalb des Speicherbereichs. Außerdem kann der Rückruf aufgerufen werden, wenn es keine Änderung an den zugrunde liegenden Daten gibt. Details zu den geänderten Elementen finden Sie, indem Sie jedes zurückgegebene storage.StorageChange Objekt des Schlüssels untersuchen. Siehe Firefox bug 1833153.

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 auf 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 es lauscht, andernfalls false.

Syntax von addListener

Parameter

listener

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

changes

object. Objekt, das die Änderung beschreibt. Dieses enthält eine Eigenschaft für jeden geänderten Schlüssel. Der Eigenschaftsname ist der Name des geänderten Schlüssels und sein Wert ist ein storage.StorageChange Objekt, das die Änderung an diesem Element 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

BCD tables only load in the browser

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