我自己的mozilla firefox扩展名有问题。我想在文档上单击事件后打开一个新选项卡。我是这样写的:
(() => {
document.addEventListener('click', () => {
console.log('click');
browser.tabs.create({});
});
})();
我的代码有什么问题?控制台会打印“ click”,因此事件有效。同样在manifest.json中,我具有此权限(并且只有此权限):
"permissions": [
"tabs"
]
我将非常感谢answear:)
答案 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)