javascript - Mozilla FF browser.tabs.create() 不起作用
问题描述
我自己的 Mozilla Firefox 扩展有问题。我想在文档上单击事件后打开一个新选项卡。我写了这个:
(() => {
document.addEventListener('click', () => {
console.log('click');
browser.tabs.create({});
});
})();
我的代码有什么问题?控制台打印“点击”,因此事件有效。同样在 manifest.json 我有这个权限(只有这个):
"permissions": [
"tabs"
]
我将非常感谢您的回答:)
解决方案
“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)
推荐阅读
- python - 如何扫描值的增加?
- javascript - 我尝试使用存储 API 获取保存的数组来创建选择选项,但是当在选择中插入选项时,无法读取长度、值等
- java - 在 mongodb 中更新文档的单个字段而不创建新文档的 Java 方法
- python - 如何使对象在pygame中自动上下移动?
- azure - 在 Azure 门户上授予应用注册许可需要约 30 秒以上的延迟
- python - 将 .dat 文件更改为 miniSEED 文件
- r - R:散点图中的肘/膝点
- python - 如何使用 pandas.io.json.read_json 加载嵌套数据框?
- sql-server - SQL 服务器中拉丁字符的 SHA1 值与雪花数据库的 SHA1 不匹配
- intellij-idea - 在 Intellij 中进行 Maven 同步后,我是否必须重新配置所有模块设置