Firefox插件开发 - tabs api - blacklist url模式注入exstension代码(如chrome中)

pao*_*iti 1 firefox-addon google-chrome-extension browser-addons firefox-addon-sdk

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

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

  ...
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以阻止对域模式的附加?最重要的是,我需要阻止它工作:像Firefox的新标签页这样的域.

显然,我能够用这样的代码控制执行:

if (tab.url.indexOf('about:') === 0) return;
Run Code Online (Sandbox Code Playgroud)

但与chrome声明清单相比,它看起来非常不清楚,你可以在这里:

"content_scripts": [
  {
    "matches": [ "http://*/*", "https://*/*", "file://*/*" ],
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*b W 5

如果要声明内容脚本,请使用sdk/page-mod模块而不是通过制表符事件附加内容脚本.然后,您可以使用includeexclude键指定URL模式(exclude在Firefox 32中引入).

使用Firefox tab.attach类似于chrome.tabs.executeScript,它应该只用于强制执行内容脚本.