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

View in English Always switch to English

storage.StorageArea.onChanged

Wird ausgelöst, wenn sich ein oder mehrere Elemente in einem Speicherbereich ändern. Im Vergleich zu storage.onChanged ermöglicht dieses Ereignis, Änderungen in einem der Speicherbereiche local, managed, session oder sync zu überwachen.

Hinweis: In Firefox erhält der Listener alle Schlüssel aus einem Speicherbereich, in dem storageArea.set ausgeführt wird. Der Listener kann auch aufgerufen werden, wenn es keine Änderung der Daten gibt. Um Einzelheiten der geänderten Elemente zu finden, untersuchen Sie jedes Schlüssel-storage.StorageChange-Objekt. Siehe Firefox Bug 1833153.

Hinweis: Firefox löst dieses Ereignis für Änderungen an storage.managed nicht aus, da verwalteter Speicher nur beim Start des Browsers gelesen wird (aus der JSON Manifest (native Manifest)-Datei oder einer 3rdparty Unternehmenseinstellung).

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)

Stoppt das Zuhören 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 zuhört, andernfalls false.

addListener-Syntax

Parameter

listener

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

changes

object. Objekt, das die Änderung beschreibt. Es enthält eine Eigenschaft für jeden Schlüssel, der sich geändert hat. Der Name der Eigenschaft ist der Name des Schlüssels, der sich geändert hat, 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

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