语法
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();
}
});
浏览器兼容性
加载中…