Firefox Webextension - TypeError: browser.contextMenus is undefined

Firefox Webextension - TypeError: browser.contextMenus is undefined

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

manifest.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'"
}

背景-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);
});

内容-script.js

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

结果:

TypeError: browser.contextMenus is undefined

我使用的是 Firefox 52.0.1。

有人出主意吗?

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