sessions.removeTabValue()

Entfernt einen zuvor durch einen Aufruf von sessions.setTabValue gespeicherten Wert.

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

Syntax

js
let removing = browser.sessions.removeTabValue(
  tabId,    // integer
  key       // string
)

Parameter

tabId

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

key

string. Schlüssel, der den bestimmten zu entfernenden Wert identifiziert. Dieser muss mit dem zuvor in sessions.setTabValue angegebenen Schlüssel übereinstimmen.

Rückgabewert

Ein Promise, das aufgelöst wird, ohne Argumente, wenn das Element erfolgreich entfernt wurde. Wenn der Aufruf fehlgeschlagen ist (zum Beispiel, weil die Tab-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üelemente hinzu: eines speichert einen Wert, der mit dem aktuellen Tab verknüpft ist, das andere entfernt ihn:

js
async function setOnActiveTab() {
  let tabArray = await browser.tabs.query({
    currentWindow: true,
    active: true,
  });
  let tabId = tabArray[0].id;
  await browser.sessions.setTabValue(tabId, "my-key", "my-value");
}

async function removeFromActiveTab() {
  let tabArray = await browser.tabs.query({
    currentWindow: true,
    active: true,
  });
  let tabId = tabArray[0].id;
  await browser.sessions.removeTabValue(tabId, "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") {
    setOnActiveTab();
  } else {
    removeFromActiveTab();
  }
});