Firefox插件开发-标签api-黑名单url模式从注入exstresion代码(如chrome)



当加载内容脚本时,我使用插件sdk/tabs api将内容脚本注入到选项卡中,如下所示:

tabs.on(ready, function (tab) {
  var worker = tab.attach({
    contentScriptWhen: 'end',
    contentScriptFile: myAwesomeArrayOfScripts
  });
  ...

有没有一种简单的方法可以防止域模式上的附加?最重要的是,我需要防止它在about:domains上工作,比如firefox的新选项卡页面。

很明显,我可以用这样的代码来控制执行:

if (tab.url.indexOf('about:') === 0) return;

但与chrome声明性清单相比,它看起来非常不清楚的解决方案,在chrome声明式清单中可以有以下内容:

"content_scripts": [
  {
    "matches": [ "http://*/*", "https://*/*", "file://*/*" ],

有类似的吗?Firefox文档令人困惑。。。太多的东西,太多的过去的版本和文章。

如果要声明内容脚本,请使用sdk/page-mod模块,而不是通过选项卡事件附加内容脚本。然后,您可以使用includeexclude键来指定URL模式(exclude是在Firefox32中引入的)。

使用Firefox的tab.attach类似于chrome.tabs.executeScript,后者只能用于强制执行内容脚本。

相关内容

  • 没有找到相关文章

最新更新