Mozilla WebExtensions contextMenus.create不起作用

时间:2017-07-03 15:46:19

标签: javascript firefox-webextensions

我正在尝试使用contextMenu为FireFox开发WebExtension。目前我只有两个文件,没有真正的功能。问题是,即使使用Mozilla Developer Network的示例代码,它似乎也不起作用 - 所以我假设它在清单中,但我似乎无法找到问题。

这是我的manifest.json文件:

{
  "manifest_version": 2,
  "name": "FullWindow",
  "version": "1.0",

  "description": "Test plugin.",

  "permissions": ["contextMenus"],

  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["fullwindow.js"]
    }
  ]
}

这是我的fullwindow.js文件:

console.log("Plugin loaded!");

browser.contextMenus.create({
  id: "radio-green",
  type: "radio",
  title: "Make it green",
  contexts: ["all"],
  checked: false
}, onCreated);

function onCreated() {
  if (browser.runtime.lastError) {
    console.log("error creating item:" + browser.runtime.lastError);
  } else {
    console.log("item created successfully");
  }
}

console.log("Test!");

这里的问题是我没有获得超出最初“插件加载!”的任何控制台日志。而且也没有得到我的上下文。

1 个答案:

答案 0 :(得分:5)

contextMenus API仅适用于后台脚本,不适用于内容脚本。这在此处记录: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_scripts#WebExtension_APIs

有关webextensions的更广泛概述,请参阅此页面: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension