javascript - Firefox Webextension - TypeError : browser. contextMenus 未定义

标签 javascript firefox-addon-webextensions

我指的是 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/contextMenus/onClicked . 我已使用此示例中的代码在我的 background-script.js 中进行测试,但此代码似乎无法像许多其他 webextension 代码一样正常工作。

list .json

{
  "description": "Description ...",
  "manifest_version": 2,
  "name": "open-my-page",
  "version": "1.0",
  "homepage_url": "https://github.com/",
  "icons": {
    "48": "icons/page-48.png"
  },
  "background": {
    "scripts": ["background.js"]
  },
  "browser_action": {
    "default_icon": "icons/page-32.png"
  },
  "content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["/content-script.js"]
  }],
  "permission": [
    "activeTab",
    "contextMenus",
    "notifications",
    "tabs",
    "<all_urls>"
  ],
  "content_security_policy": "script-src 'self' https://api.github.com; object-src 'self'; img-src 'self'"
}

background-script.js

console.log('File: background.js');

browser.contextMenus.create({
  id: "click-me",
  title: "Click me!",
  contexts: ["all"]
});

browser.contextMenus.onClicked.addListener((info, tab) => {
  console.log("Item " + info.menuItemId + " clicked " +
              "in tab " + tab.id);
});

content-script.js

console.log('File: content-script.js');

结果:

TypeError: browser.contextMenus is undefined

我使用的是 Firefox 52.0.1。

有人有想法吗?

最佳答案

在您的 manifest.json 文件中,它应该是 permissions 而不是 permission

关于javascript - Firefox Webextension - TypeError : browser. contextMenus 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43003311/

相关文章:

javascript - 动态更新进度条问题

javascript - 更改 Firefox WebExtension 中 SVG 工具栏图标的颜色

javascript - 在 Firefox 扩展页面内提交表单

javascript - 如果选项页面有 onMessage 监听器,则内容脚本 sendMessage 会收到 null

javascript - Regex.test(value) 在记录时返回 true,但在 if 语句中返回 false

javascript - 用于桌面和移动平台的 Twitter bootstrap popover 触发器

javascript - Parse.com - 使用 javascript SDK 安全发送数据

javascript - Mozilla WebExtensions contextMenus.create 不工作

javascript - 如何在 contextMenus onclick 事件处理程序中获取 iframeId?

javascript - JS 主应用程序使用路由来显示对话框等?