Aparece un menú contextual para el clic alternativo (que se suele llamar clic con el botón derecho) de un mouse. Para compilar un menú contextual, primero agrega el permiso "contextMenus" al archivo manifest.json.
manifest.json:
"permissions": [
"contextMenus"
],
De manera opcional, usa la clave "icons" si quieres mostrar un ícono junto a un elemento de menú. En este ejemplo, el elemento de menú de la extensión "Búsqueda de Google global" usa un ícono de 16 x 16.
El resto de este ejemplo se tomó de la muestra del menú contextual de la Búsqueda de Google global, que proporciona varias opciones del menú contextual. Cuando una extensión contiene más de un menú contextual, Chrome los contrae automáticamente en un solo menú principal, como se muestra aquí:
En el ejemplo, se muestra esto llamando a contextMenus.create() en el service worker de la extensión. Los elementos del submenú se importan desde el archivo locales.js. Luego, runtime.onInstalled itera sobre ellos.
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'],
});
}
});