我正在尝试创建一个firefox扩展,其后台脚本与网站上加载的一系列内容脚本进行通信。我的问题出现在尝试使用内容脚本上的browser.runtime做任何事情时,它告诉我它是未定义的。
这是我的manifest.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()
以便能够调用我的后台脚本并触发一些后台工作。这一直对我有用,直到它随机停止,我无法追查任何其他有此类问题的人。
答案 0 :(得分:0)
对我有用的不是使用web-ext
来测试插件,而是通过转到about:debugging
并使用&#34;加载临时插件&#34将其加载到普通浏览器部分;按钮。