语法
js
let removing = browser.sessions.removeWindowValue(
windowId, // integer
key // string
)
参数
windowId-
integer。您尝试删除数据的窗口 ID。如果 ID 无效,将抛出错误。 key-
string。用于标识要删除的特定值的键。这需要与之前在sessions.setWindowValue中提供的键匹配。
返回值
一个 Promise,如果项目已成功删除,则会以不带参数的形式解析。如果调用失败(例如,因为找不到窗口 ID),则 Promise 将以错误消息被拒绝。
示例
此代码添加了两个上下文菜单项:一个存储与当前窗口关联的值,另一个则将其删除。
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();
}
});
浏览器兼容性
加载中…