Контекстное меню появляется при альтернативном щелчке мыши (часто называемом щелчком правой кнопкой мыши). Чтобы создать контекстное меню, сначала добавьте разрешение "contextMenus"
в файл манифеста.json.
манифест.json:
"permissions": [
"contextMenus"
],
При желании используйте клавишу "icons"
, если вы хотите отобразить значок рядом с элементом меню. В этом примере в пункте меню расширения «Глобальный поиск Google» используется значок размером 16 на 16.

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

В примере это показано путем вызова 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'],
});
}
});