Создать контекстное меню,Создать контекстное меню

Контекстное меню появляется при альтернативном щелчке мыши (часто называемом щелчком правой кнопкой мыши). Чтобы создать контекстное меню, сначала добавьте разрешение "contextMenus" в файл манифеста.json.

манифест.json:

  "permissions": [
    "contextMenus"
  ],

При желании используйте клавишу "icons" если вы хотите, чтобы значок отображался рядом с элементом меню. В этом примере в пункте меню расширения «Глобальный поиск Google» используется значок размером 16 на 16.

Пункт контекстного меню со значком 16 на 16.
Пункт контекстного меню со значком 16 на 16.

Оставшаяся часть примера взята из примера контекстного меню глобального поиска Google , который предоставляет несколько пунктов контекстного меню. Если расширение содержит более одного контекстного меню, Chrome автоматически сворачивает их в одно родительское меню, как показано здесь:

Вложенное контекстное меню.
Рис. 4. Контекстное меню и вложенное подменю.

В примере это показано путем вызова contextMenus.create() в рабочем сервисе расширения . Пункты подменю импортируются из файла locales.js . Затем runtime.onInstalled перебирает их.

сервис-worker.js:

const tldLocales = {
  'com.au': 'Australia',
  'com.br': 'Brazil',
  ...
}

chrome.runtime.onInstalled.addListener(async () => {
  for (let [tld, locale] of Object.entries(tldLocales)) {
    chrome.contextMenus.create({
      id: tld,
      title: locale,
      type: 'normal',
      contexts: ['selection'],
    });
  }
});