我正在开发一个用于Firefox的WebExtension,它在选项卡条上添加了一个上下文菜单项,单击该菜单项应在相应页面上执行脚本。扩展名需要清单中的权限["activeTab", "menus"]
,这是background.js
代码:
browser.menus.create({
title: "...",
contexts: ['tab'],
onclick: (info, tab) => {
browser.tabs.executeScript(tab.id, {
...
});
}
});
该脚本在选项卡为活动选项卡时起作用,但如果从非活动性选项卡的上下文菜单中调用则不会起作用,并抛出权限错误:
错误:该标签缺少主机权限
但是,从documentation:
通常情况下,被授予
activeTab
的标签只是当前活动的标签,除非有一种情况。menus
API使扩展能够创建菜单项,如果用户上下文单击选项卡(即,使用户能够从一个选项卡切换到另一个选项卡的选项卡中的元素),将显示该菜单项。如果用户单击此类项目,则即使用户单击的选项卡不是当前活动的选项卡,也将为其授予activeTab
权限。
我在这里想念的是什么?谢谢。