Mozilla WebExtensions contextMenus.create не работает

1

Я пытаюсь разработать 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!");

Проблема здесь в том, что я не получаю никаких консольных журналов за начальным "Плагином, загруженным!". а также не получить мой контекст.

  • 0
    При отладке моего плагина я получаю browser.contextMenus is undefined . Также использование chrome.contextMenus дает ту же проблему.
Теги:
firefox-webextensions

1 ответ

4
Лучший ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню