Javascript Firefox WebExtension内容脚本:类型错误:browser.runtime未定义

Javascript Firefox WebExtension内容脚本:类型错误:browser.runtime未定义,javascript,firefox-addon-webextensions,Javascript,Firefox Addon Webextensions,我正在尝试创建一个firefox扩展,它有一个后台脚本,可以与网站上加载的一系列内容脚本进行通信。我的问题出现在试图对内容脚本上的browser.runtime执行任何操作时,它告诉我它未定义 这是我的manifest.json: { "manifest_version": 2, "name": "Test Script", "version": "0.1.0", "description": "Test Script", "icons": { "48": "i

我正在尝试创建一个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>"
  ]
}
据我所知,我没有错过任何具体的许可。我已经花了半个星期的时间想办法解决这个问题。非常感谢您的帮助


更新:我的目标是能够调用
browser.runtime.sendMessage()
来调用我的后台脚本并触发一些后台工作。这一直对我有效,直到它随机停止,我一直无法找到任何其他有这种问题的人。

对我有效的不是使用
WebExt
来测试插件,而是通过转到
关于:调试
并使用“加载临时插件”在普通浏览器部分加载它按钮。

对我有效的不是使用
web ext
来测试加载项,而是通过转到
关于:调试
并使用“加载临时加载项”按钮将其加载到普通浏览器部分。

浏览器。运行时
应该在内容脚本中定义?据我所知,是的。示例:在示例中,他们从内容脚本调用sendMessage,这正是我想要做的输出<代码>争论未定义
?正确。如果我尝试调用
browser.runtime.sendMessage
it errors with
browser.runtime未定义
您的后台脚本是什么样子的?你可以上传吗?是
browser.runtime
应该在内容脚本中定义吗?据我所知,是的。示例:在示例中,他们从内容脚本调用sendMessage,这正是我想要做的输出<代码>争论未定义
?正确。如果我尝试调用
browser.runtime.sendMessage
it errors with
browser.runtime未定义
您的后台脚本是什么样子的?你可以上传吗?如果这不是一个答案,请考虑更新,删除它或变成一个评论(你将需要足够的声誉,虽然),如果这不是一个答案,请考虑更新,删除它或变成一个评论(你需要足够的声誉,虽然)
console.log("wrangled", browser.runtime);