storage.StorageArea.onChanged
Wird ausgelöst, wenn sich ein oder mehrere Elemente in einem Speicherbereich ändern, und gibt Details zu den geänderten Schlüsseln zurück. Im Vergleich zu storage.onChanged
ermöglicht Ihnen dieses Ereignis, Änderungen in einem der Speicherbereiche local
, managed
, session
und sync
zu überwachen.
Hinweis:
In Firefox umfassen die zurückgegebenen Informationen alle Schlüssel innerhalb des Speicherbereichs. Zudem 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 Schlüssel-storage.StorageChange
-Objekt untersuchen. Siehe Firefox-Fehler 1833153.
Firefox lädt Änderungen am verwalteten Speicherinhalt (aus der JSON-Manifestdatei (nativen Manifestdatei) oder der 3rdparty
-Unternehmensrichtlinie) nur, wenn es neu gestartet wird. Daher wird dieses Ereignis in Firefox niemals ausgelöst.
Syntax
// 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 einen Listener zu diesem Ereignis hinzu.
removeListener(listener)
-
Stellt das Abhören dieses Ereignisses ein. Das
listener
-Argument ist der zu entfernende Listener. hasListener(listener)
-
Überprüft, ob
listener
für dieses Ereignis registriert ist. Gibttrue
zurück, wenn es zuhört, andernfallsfalse
.
Syntax von addListener
>Parameter
listener
-
Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion wird dieses Argument übergeben:
changes
-
object
. Ein Objekt, das die Änderung beschreibt. Dieses enthält pro geändertem Schlüssel eine Eigenschaft. Der Eigenschaftsname ist der Name des geänderten Schlüssels, und dessen Wert ist einstorage.StorageChange
-Objekt, das die Änderung dieses Elements beschreibt.
Beispiele
/*
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
Loading…
Hinweis:
Diese API basiert auf der chrome.storage
-API von Chromium. Diese Dokumentation ist abgeleitet von storage.json
im Chromium-Code.