如何在我的 Firefox 扩展的当前选项卡中有一个变量?
How to have a variable in the current tab for my Firefox extension?
我正在开发我的第一个 Firefox 扩展,我是一个初学者。
我在后台有一个脚本可以拦截 onBeforeRequest 事件。
我想在选项卡上存储一个临时变量,特别是查看我是否已经 运行 我的脚本在当前选项卡上。
我的变量不是持久的。
示例但不起作用。
browser.webRequest.onBeforeRequest.addListener(
(request) => {
if(browser.tabs.getCurrent().myvar != true ){
execMyScript(request);
browser.tabs.getCurrent().myvar = true;
}
}, {urls: ['http://*/*']},["blocking"]
);
谢谢
您可以将变量保存在后台本身。
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]
的位置。也许当用户关闭标签时。
我正在开发我的第一个 Firefox 扩展,我是一个初学者。 我在后台有一个脚本可以拦截 onBeforeRequest 事件。 我想在选项卡上存储一个临时变量,特别是查看我是否已经 运行 我的脚本在当前选项卡上。 我的变量不是持久的。
示例但不起作用。
browser.webRequest.onBeforeRequest.addListener(
(request) => {
if(browser.tabs.getCurrent().myvar != true ){
execMyScript(request);
browser.tabs.getCurrent().myvar = true;
}
}, {urls: ['http://*/*']},["blocking"]
);
谢谢
您可以将变量保存在后台本身。
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]
的位置。也许当用户关闭标签时。