sessions.removeWindowValue()

Entfernt einen Wert, der zuvor durch einen Aufruf von sessions.setWindowValue gespeichert wurde.

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

Syntax

js
let removing = browser.sessions.removeWindowValue(
  windowId,    // integer
  key          // string
)

Parameter

windowId

integer. ID des Fensters, dessen Daten Sie entfernen möchten. Ein Fehler wird ausgelöst, wenn die ID ungültig ist.

key

string. Schlüssel, der den speziellen Wert identifiziert, der entfernt werden soll. Dieser muss mit dem zuvor in sessions.setWindowValue angegebenen Schlüssel übereinstimmen.

Rückgabewert

Ein Promise, das ohne Argumente aufgelöst wird, wenn das Element erfolgreich entfernt wurde. Wenn der Aufruf fehlschlägt (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

Dieser Code fügt zwei Kontextmenüeinträge hinzu: einer speichert einen Wert, der mit dem aktuellen Fenster verknüpft ist, der andere entfernt ihn:

js
async function setOnActiveWindow() {
  let currentWindow = await browser.windows.getLastFocused();
  await browser.sessions.setWindowValue(currentWindow.id, "my-key", "my-value");
}

async function removeFromActiveWindow() {
  let currentWindow = await browser.windows.getLastFocused();
  await browser.sessions.removeWindowValue(currentWindow.id, "my-key");
}

browser.menus.create({
  id: "add-my-item",
  title: "add item",
  contexts: ["all"],
});

browser.menus.create({
  id: "remove-my-item",
  title: "remove item",
  contexts: ["all"],
});

browser.menus.onClicked.addListener((info) => {
  if (info.menuItemId === "add-my-item") {
    setOnActiveWindow();
  } else {
    removeFromActiveWindow();
  }
});