sessions.removeTabValue()

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

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 Wert identifiziert, der entfernt werden soll. Dieser muss mit dem zuvor in sessions.setTabValue angegebenen Schlüssel übereinstimmen.

Rückgabewert

Ein Promise, der ohne Argumente aufgelöst wird, wenn das Element erfolgreich entfernt wurde. Wenn der Aufruf fehlschlug (zum Beispiel, weil die Tab-ID nicht gefunden werden konnte), wird das Promise mit einer Fehlermeldung abgelehnt.

Beispiele

Dieser Code fügt zwei Kontextmenüeinträge hinzu: Einer speichert einen mit dem aktuellen Tab verknüpften Wert, der 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();
  }
});

Browser-Kompatibilität