sessions.setWindowValue()
Speichert ein Schlüssel/Wert-Paar, das einem bestimmten Fenster zugeordnet wird. Sie können diesen Wert anschließend mit sessions.getWindowValue
abrufen.
Beachten Sie, dass diese Daten nur für die Erweiterung sichtbar sind, die sie gesetzt hat, und nicht für andere Erweiterungen.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let storing = browser.sessions.setWindowValue(
windowId, // integer
key, // string
value // string or object
)
Parameter
windowId
-
integer
. ID des Fensters, dem Sie die Daten zuordnen möchten. Ein Fehler wird ausgelöst, wenn die ID ungültig ist. key
-
string
. Schlüssel, den Sie später verwenden können, um diesen bestimmten Datenwert abzurufen. value
-
string
oderobject
. Wenn dies ein Objekt ist, wird es stringifiziert, sodass beispielsweise Objektmethoden weggelassen werden. Wenn hier eine Funktion angegeben wird, wird sie als Wertnull
gespeichert.
Rückgabewert
Ein Promise
, das ohne Argumente aufgelöst wird, wenn der Aufruf erfolgreich war. Wenn der Aufruf fehlschlug (zum Beispiel, weil die Fenster-ID nicht gefunden werden konnte), wird das Promise mit einer Fehlermeldung abgelehnt.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
Setzen Sie einen Wert auf dem aktiven Fenster, wenn der Benutzer ein Menüelement auswählt. Beachten Sie, dass Sie die "menus" Berechtigung benötigen, um dieses Beispiel auszuführen:
async function setOnActiveWindow() {
let currentWindow = await browser.windows.getLastFocused();
await browser.sessions.setWindowValue(currentWindow.id, "my-key", "my-value");
}
browser.menus.create({
id: "my-item",
title: "my item",
contexts: ["all"],
});
browser.menus.onClicked.addListener(setOnActiveWindow);