Я пытаюсь разработать WebExtension с помощью contextMenu для FireFox. В настоящее время у меня только два файла и нет реальной функциональности. Проблема в том, что она не работает даже с примером кода из 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!");
Проблема здесь в том, что я не получаю никаких консольных журналов за начальным "Плагином, загруженным!". а также не получить мой контекст.
API contextMenus
доступен только в фоновых сценариях, а не в сценариях контента. Это описано здесь: 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
browser.contextMenus is undefined
. Также использованиеchrome.contextMenus
дает ту же проблему.