我正在尝试使用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!");
这里的问题是我没有获得超出最初“插件加载!”的任何控制台日志。而且也没有得到我的上下文。
答案 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