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
// 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. Gibttrue
zurück, wenn der Listener registriert ist, andernfallsfalse
.
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 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
Report problems with this compatibility data on GitHubdesktop | mobile | ||||||
---|---|---|---|---|---|---|---|
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.