javascript - Firefox WebExtension内容脚本: TypeError: browser.运行时未定义

标签 javascript firefox-addon-webextensions

我正在尝试创建一个 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/

相关文章:

javascript - 与 .addEventListener 中的 'click' 事件相反

javascript - 切换导航栏多个 div 的可见性

javascript - 如何使用 Systemsj 配置我的 index.html 以使用现有的 bundle ?

javascript - 如何在 Firefox 55 的 Web 扩展中获取原始响应主体?

javascript - 尽管有 <all_urls> list 权限,但来自扩展程序的 Xhr 仍被阻止

javascript - jQuery 不会在 Firefox WebExtensions 中添加事件监听器

firefox-addon - Firefox 网络扩展 自动更新未列出和自托管的扩展

javascript - kongregate未定义错误javascript

javascript - 从 api 获取的数据未显示

javascript - 使用 Permissions API 从 Firefox 中的 <select> onchange 处理程序请求权限