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

View in English Always switch to English

StorageArea.set()

Speichert ein oder mehrere Elemente im Speicherbereich oder aktualisiert gespeicherte Elemente.

Wenn Sie einen Wert mit dieser API speichern oder aktualisieren, wird das Event storage.onChanged ausgelöst.

Beachten Sie, dass beim Speichern von Elementen im sync Speicherbereich der Browser Quoten für die Menge an Daten erzwingt, die jede Erweiterung speichern kann. Siehe Speicherquoten für Synchronisierungsdaten.

Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.

Syntax

js
let settingItem = browser.storage.<storageType>.set(
  keys             // object
)

Dabei ist <storageType> einer der beschreibbaren Speichertypen: storage.local, storage.session, oder storage.sync.

Parameter

keys

Ein Objekt, das ein oder mehrere Schlüssel/Wert-Paare enthält, die gespeichert werden sollen. Wenn ein Element im Speicher vorhanden ist, wird dessen Wert aktualisiert.

Werte können primitive (wie eine Zahl, boolean oder string), Array, oder Object Typen sein.

Es ist im Allgemeinen nicht möglich, andere Typen wie Function, Date, RegExp, Set, Map, ArrayBuffer usw. zu speichern. Einige nicht unterstützte Typen werden als leeres Objekt wiederhergestellt, während andere dazu führen, dass set() einen Fehler auslöst. Das Verhalten ist browser-spezifisch.

Hinweis: Wenn Sie Schlüssel aus dem Speicher entfernen möchten, verwenden Sie storage.storageArea.remove. Wenn Sie einen Wert mit einem leeren Wert überschreiben möchten, verwenden Sie null, also key: null.

Rückgabewert

Ein Promise, das bei erfolgreicher Ausführung ohne Argumente erfüllt wird. Wenn die Operation fehlschlägt, wird das Promise mit einer Fehlermeldung abgelehnt.

Beispiele

js
function setItem() {
  console.log("OK");
}

function gotKitten(item) {
  console.log(`${item.kitten.name} has ${item.kitten.eyeCount} eyes`);
}

function gotMonster(item) {
  console.log(`${item.monster.name} has ${item.monster.eyeCount} eyes`);
}

function onError(error) {
  console.log(error);
}

// define 2 objects
let monster = {
  name: "Kraken",
  tentacles: true,
  eyeCount: 10,
};

let kitten = {
  name: "Moggy",
  tentacles: false,
  eyeCount: 2,
};

// store the objects
browser.storage.local.set({ kitten, monster }).then(setItem, onError);

browser.storage.local.get("kitten").then(gotKitten, onError);
browser.storage.local.get("monster").then(gotMonster, onError);

Browser-Kompatibilität

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