Criar um menu de contexto

Um menu de contexto aparece para o clique alternativo (geralmente chamado de clique com o botão direito do mouse). Para criar um menu de contexto, primeiro adicione a permissão "contextMenus" ao arquivo manifest.json.

manifest.json:

  "permissions": [
    "contextMenus"
  ],

Se quiser, use a tecla "icons" para mostrar um ícone ao lado de um item de menu. Neste exemplo, o item de menu da extensão "Pesquisa Google global" usa um ícone de 16 por 16.

Um item de menu de contexto com um ícone de 16 por 16.
Um item de menu de contexto com um ícone de 16 por 16.

O restante deste exemplo foi extraído do exemplo de menu de contexto da Pesquisa Google global, que oferece várias opções de menu de contexto. Quando uma extensão tem mais de um menu de contexto, o Chrome os recolhe automaticamente em um único menu principal, como mostrado aqui:

Um menu de contexto aninhado.
Figura 4: um menu de contexto e um submenu aninhado.

O exemplo mostra isso chamando contextMenus.create() no service worker da extensão. Os itens do submenu são importados do arquivo locales.js. Em seguida, runtime.onInstalled itera sobre eles.

service-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'],
    });
  }
});