Aparece un menú contextual para el clic alternativo (que se suele llamar clic con el botón derecho) de un mouse. En esta página, se describe cómo implementar un menú contextual. Para obtener una lista completa de los miembros de las APIs relacionadas, consulta browser.contextMenu.
Para compilar un menú contextual, primero agrega el permiso "contextMenus" al archivo manifest.json.
manifest.json:
"permissions": [
"contextMenus"
],
De forma 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ó del ejemplo del menú contextual de la Búsqueda de Google global, que proporciona varias opciones de 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í:
La muestra lo demuestra 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',
...
}
browser.runtime.onInstalled.addListener(async () => {
for (let [tld, locale] of Object.entries(tldLocales)) {
browser.contextMenus.create({
id: tld,
title: locale,
type: 'normal',
contexts: ['selection'],
});
}
});