Un menu contextuel s'affiche pour le clic alternatif (souvent appelé clic droit) d'une souris. Cette page explique comment implémenter un menu contextuel. Pour obtenir la liste complète des membres des API associées, consultez browser.contextMenu.
Pour créer un menu contextuel, commencez par ajouter l'autorisation "contextMenus" au fichier manifest.json.
manifest.json:
"permissions": [
"contextMenus"
],
Si vous le souhaitez, vous pouvez utiliser la touche "icons" pour afficher une icône à côté d'un élément de menu. Dans cet exemple, l'élément de menu de l'extension "Global Google Search" utilise une icône de 16 x 16.
Le reste de cet exemple est tiré de l'exemple de menu contextuel de la recherche Google globale, qui propose plusieurs options de menu contextuel. Lorsqu'une extension contient plusieurs menus contextuels, Chrome les réduit automatiquement en un seul menu parent, comme illustré ci-dessous :
L'exemple montre cela en appelant contextMenus.create() dans le service worker d'extension. Les éléments du sous-menu sont importés à partir du fichier locales.js. runtime.onInstalled itère ensuite sur ces éléments.
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'],
});
}
});