storage

Ermöglicht es Erweiterungen, Daten zu speichern und abzurufen sowie Änderungen an gespeicherten Elementen zu überwachen.

Das Speichersystem basiert auf der Web Storage API, mit einigen Unterschieden. Zu diesen Unterschieden gehören unter anderem:

  • Es ist asynchron.
  • Werte sind auf die Erweiterung begrenzt und nicht auf eine bestimmte Domain (d.h. dasselbe Set von Schlüssel-/Werte-Paaren ist für alle Skripte im Hintergrundkontext und in Inhaltsskripten verfügbar).
  • Die gespeicherten Werte können beliebige JSON-konvertierbare Werte sein, nicht nur String. Dazu gehören unter anderem: Array und Object, jedoch nur, wenn deren Inhalte als JSON dargestellt werden können, was keine DOM-Knoten umfasst. Sie müssen Ihre Werte vor der Speicherung nicht in JSON-Strings umwandeln, aber sie werden intern als JSON dargestellt, weshalb sie JSON-konvertierbar sein müssen.
  • Mehrere Schlüssel-/Werte-Paare können in einem einzigen API-Aufruf gesetzt oder abgerufen werden.

Um diese API zu verwenden, müssen Sie die "storage"-Berechtigung in Ihrer manifest.json-Datei einfügen.

Jede Erweiterung hat ihren eigenen Speicherbereich, der in verschiedene Speicherarten aufgeteilt werden kann.

Obwohl diese API Window.localStorage ähnelt, wird empfohlen, Window.localStorage im Erweiterungscode nicht zu verwenden, um erweiterungsbezogene Daten zu speichern. Firefox löscht Daten, die von Erweiterungen mit der localStorage-API gespeichert wurden, in verschiedenen Szenarien, in denen Benutzer ihren Browserverlauf und ihre Daten aus Datenschutzgründen löschen, während Daten, die mit der storage.local-API gespeichert werden, in diesen Szenarien korrekt erhalten bleiben.

Sie können die gespeicherten Daten unter dem Punkt "Extension Storage" im Storage Inspector im Entwicklerwerkzeugkasten einsehen, der über about:debugging zugänglich ist.

Hinweis: Der Speicherbereich ist nicht verschlüsselt und sollte nicht zur Speicherung vertraulicher Benutzerdaten verwendet werden.

Arten

storage.StorageArea

Ein Objekt, das einen Speicherbereich darstellt.

storage.StorageChange

Ein Objekt, das eine Änderung an einem Speicherbereich darstellt.

Eigenschaften

storage hat vier Eigenschaften, die die verschiedenen Arten von verfügbaren Speicherbereichen darstellen.

storage.local

Repräsentiert den local-Speicherbereich. Elemente im local-Speicher sind lokal auf dem Computer, auf dem die Erweiterung installiert wurde.

storage.managed

Repräsentiert den managed-Speicherbereich. Elemente im managed-Speicher werden vom Domain-Administrator gesetzt und sind für die Erweiterung schreibgeschützt. Ein Versuch, diesen Namensraum zu modifizieren, führt zu einem Fehler.

storage.session

Repräsentiert den session-Speicherbereich. Elemente im session-Speicher werden im Speicher abgelegt und nicht auf der Festplatte gespeichert.

storage.sync

Repräsentiert den sync-Speicherbereich. Elemente im sync-Speicher werden vom Browser synchronisiert und sind auf allen Instanzen dieses Browsers verfügbar, in die der Benutzer eingeloggt ist, über verschiedene Geräte hinweg.

Ereignisse

storage.onChanged

Wird ausgelöst, wenn sich ein oder mehrere Elemente in einem der Speicherbereiche ändern.

Browser-Kompatibilität

Beispielerweiterungen

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