我正在尝试创建一个 Firefox 扩展,该扩展具有一个后台脚本,可与网站上加载的一系列内容脚本进行通信。当尝试对内容脚本上的 browser.runtime 执行任何操作时,我的问题出现了,它告诉我它未定义。
这是我的 list .json:
{
"manifest_version": 2,
"name": "Test Script",
"version": "0.1.0",
"description": "Test Script",
"icons": {
"48": "icon.png"
},
"browser_action": {
"default_icon": "icon.png",
"default_title": "Trigger",
"browser_style": false
},
"background": {
"scripts": [
"main.js"
]
},
"content_scripts": [
{
"matches": ["http://www.example.com/*"],
"js": ["/page_wrangler.js"]
}
],
"permissions": [
"*://www.example.com/*",
"tabs",
"<all_urls>"
]
}
所有内容都在我的 page_wrangler.js 中:
console.log("wrangled", browser.runtime);
据我所知,我没有缺少任何特定的许可。我已经尝试解决这个问题大约半周了。非常感谢任何帮助!
更新:我的目标是能够调用browser.runtime.sendMessage()
来调用我的后台脚本并触发一些后台工作。这一直对我有用,直到它随机停止,我无法追踪到任何其他人遇到此类问题。
最佳答案
对我有用的不是使用 web-ext
来测试插件,而是通过转到 about:debugging
并使用来将其加载到普通浏览器部分“加载临时插件”按钮。
关于javascript - Firefox WebExtension内容脚本: TypeError: browser.运行时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45093094/