Mozilla FF browser.tabs.create()不起作用

时间:2018-08-08 19:38:14

标签: javascript firefox tabs firefox-addon firefox-webextensions

我自己的mozilla firefox扩展名有问题。我想在文档上单击事件后打开一个新选项卡。我是这样写的:

  (() => {
    document.addEventListener('click', () => {
      console.log('click');
      browser.tabs.create({});
    });
  })();

我的代码有什么问题?控制台会打印“ click”,因此事件有效。同样在manifest.json中,我具有此权限(并且只有此权限):

"permissions": [
    "tabs"
  ]

我将非常感谢answear:)

1 个答案:

答案 0 :(得分:3)

“ browser.tabs” API仅在后台脚本中工作。您正在内容脚本中使用它。 WebExtensions中的大多数API仅在后台脚本中工作。

来自MDN:

  

用于WebExtensions的JavaScript API可以在扩展程序的内部使用   后台脚本以及与   扩展程序,包括浏览器操作或页面操作弹出窗口,侧边栏,   选项页或新标签页。这些API中的一些也可以是   由扩展程序的内容脚本访问(请参阅   内容脚本指南)。

请阅读有关WebExtensions的更多信息:https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API

此问题的答案包含更多信息:TypeError: browser is undefined (Web Extension Messaging)