我正在开发我的第一个Firefox扩展,我是一个初学者。 我在后台有一个脚本可以拦截事件onBeforeRequest。 我想在选项卡上存储一个临时变量,特别是要查看我是否已在当前选项卡上运行脚本。 我的变量不是持久的。
示例,但不起作用。
browser.webRequest.onBeforeRequest.addListener(
(request) => {
if(browser.tabs.getCurrent().myvar != true ){
execMyScript(request);
browser.tabs.getCurrent().myvar = true;
}
}, {urls: ['http://*/*']},["blocking"]
);
谢谢
答案 0 :(得分:0)
您可以将变量保存在后台本身。
let tabsVisited = {};
browser.webRequest.onBeforeRequest.addListener(
(request) => {
if(!(request.tabId in tabsVisited)){
execMyScript(request);
tabsVisited[request.tabId] = true;
}
}, {urls: ['http://*/*']},["blocking"]
);
,但是tabsVisited
只会变大。完成后,您需要在脚本中找到delete tabsVisited[request.tabId]
的位置。也许当用户关闭标签页时。