語法
js
let removing = browser.sessions.removeTabValue(
tabId, // integer
key // string
)
引數
tabId-
integer。要嘗試移除資料的標籤頁 ID。如果 ID 無效,則會丟擲錯誤。 key-
string。用於標識要移除的特定值的鍵。這需要與之前在sessions.setTabValue中提供的鍵匹配。
返回值
一個 Promise,如果專案已成功移除,則會解析(resolve)且不帶任何引數。如果呼叫失敗(例如,因為找不到標籤頁 ID),則 Promise 將會以錯誤訊息被拒絕(reject)。
示例
此程式碼添加了兩個上下文選單項:一個儲存與當前標籤頁關聯的值,另一個則移除它
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();
}
});
瀏覽器相容性
載入中…