From f36cc6a7639a8f1adff02bc7a152bd7f54ceae6d Mon Sep 17 00:00:00 2001 From: julieng Date: Mon, 15 Nov 2021 21:45:09 +0100 Subject: move *.html to *.md --- .../add-ons/webextensions/api/menus/index.md | 203 +++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 files/fr/mozilla/add-ons/webextensions/api/menus/index.md (limited to 'files/fr/mozilla/add-ons/webextensions/api/menus/index.md') diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/index.md new file mode 100644 index 0000000000..d6bfc9eebc --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/index.md @@ -0,0 +1,203 @@ +--- +title: menus +slug: Mozilla/Add-ons/WebExtensions/API/menus +tags: + - API + - Add-ons + - Extensions + - Interface + - Non-standard + - Reference + - WebExtensions + - contextMenus + - menus +translation_of: Mozilla/Add-ons/WebExtensions/API/menus +--- +
{{AddonSidebar}}
+ +

Ajoutez des éléments au système de menus du navigateur.

+ +

Cette API est modélisée dans l'API "contextMenus" de Chrome, qui permet aux extensions Chrome d'ajouter des éléments au menu contextuel du navigateur. L'API browser.menus ajoute quelques fonctionnalités à l'API de Chrome.

+ +

Avant Firefox 55, cette API s'appelait à l'origine contextMenus, et ce nom a été retenu comme alias. Vous pouvez donc utiliser contextMenus pour écrire du code qui fonctionne dans Firefox et dans d'autres navigateurs.

+ +

Pour utiliser cette API, vous devez avoir la permission des  menus. vous pouvez également utiliser l'alias contextMenus à la place des menus, mais si vous le faites, vous devez accéder aux API sous le nom browser.contextMenus à la place.

+ +

Excepté que menus.getTargetElement(), cette API ne peut pas être utilisée à partir de scripts de contenu.

+ +

Créer des éléments de menu

+ +

Pour créer un élément de menu, appelez la méthode {{WebExtAPIRef("menus.create()")}}. Vous transmettez à cette méthode un objet contenant des options pour l'élément, y compris l'ID d'élément, le type d'élément et les contextes dans lesquels il doit être affiché.

+ +

Écoutez les clics sur votre élément de menu en ajoutant un écouteur à l'événement {{WebExtAPIRef("menus.onClicked")}}. Cet écouteur recevra un objet  {{WebExtAPIRef("menus.OnClickData")}} contenant les détails de l'événement.

+ +

Vous pouvez créer quatre types différents d'élément de menu, en fonction de la valeur de la propriété type que vous fournissez dans les options de create():

+ + + +

Si vous avez créé plus d'un élément de menu contextuel ou plus d'un élément de menu d'outils, les éléments seront placés dans un sous-menu. Le parent du sous-menu sera étiqueté avec le nom de l'extension. Par exemple, voici une extension appelée "Menu démo" qui ajoute deux éléments de menu contextuel:

+ +

+ +

Icônes

+ +

Si vous avez spécifié des icônes pour votre extension à l'aide de la clé de manifest "icons", votre élément de menu affichera l'icône spécifiée à côté de son libellé. Le navigateur va essayer de choisir une icône de 16x16 pixels pour un affichage normal ou une icône de 32x32 pixels pour un affichage haute définition :

+ +

+ +

Uniquement pour les éléments d'un sous-menu, vous pouvez spécifier des icônes personnalisées en passant l'option icons à {{WebExtAPIRef("menus.create()")}} :

+ +

+ +

Exemple

+ +

Voici un menu contextuel contenant 4 éléments: un élément normal, deux éléments radio avec des séparateurs de chaque côté et une case à cocher. Les éléments radio sont dotés d'icônes personnalisées.

+ +

Vous pouvez créer un sous-menu comme celui-ci en utilisant du code comme :

+ +
browser.menus.create({
+  id: "remove-me",
+  title: browser.i18n.getMessage("menuItemRemoveMe"),
+  contexts: ["all"]
+}, onCreated);
+
+browser.menus.create({
+  id: "separator-1",
+  type: "separator",
+  contexts: ["all"]
+}, onCreated);
+
+browser.menus.create({
+  id: "greenify",
+  type: "radio",
+  title: browser.i18n.getMessage("menuItemGreenify"),
+  contexts: ["all"],
+  checked: true,
+  icons: {
+    "16": "icons/paint-green-16.png",
+    "32": "icons/paint-green-32.png"
+  }
+}, onCreated);
+
+browser.menus.create({
+  id: "bluify",
+  type: "radio",
+  title: browser.i18n.getMessage("menuItemBluify"),
+  contexts: ["all"],
+  checked: false,
+  icons: {
+    "16": "icons/paint-blue-16.png",
+    "32": "icons/paint-blue-32.png"
+  }
+}, onCreated);
+
+browser.menus.create({
+  id: "separator-2",
+  type: "separator",
+  contexts: ["all"]
+}, onCreated);
+
+var checkedState = true;
+
+browser.menus.create({
+  id: "check-uncheck",
+  type: "checkbox",
+  title: browser.i18n.getMessage("menuItemUncheckMe"),
+  contexts: ["all"],
+  checked: checkedState
+}, onCreated);
+ +

Types

+ +
+
{{WebExtAPIRef("menus.ContextType")}}
+
Les différents contextes dans lesquels un menu peut apparaître.
+
{{WebExtAPIRef("menus.ItemType")}}
+
Le type d'élément de menu : "normal", "checkbox", "radio", "separator".
+
{{WebExtAPIRef("menus.OnClickData")}}
+
Informations envoyées lorsqu'un élément de menu est cliqué.
+
+ +

Propriétés

+ +
+
{{WebExtAPIRef("menus.ACTION_MENU_TOP_LEVEL_LIMIT")}}
+
Le nombre maximal d'éléments d'extension de niveau supérieur pouvant être ajoutés à un élément de menu dont le type de contexte est "browser_action" ou "page_action".
+
+ +

Functions

+ +
+
{{WebExtAPIRef("menus.create()")}}
+
Crée un nouvel élément de menu.
+
{{WebExtApiRef("menus.getTargetElement()")}}
+
Retourne l'élément pour un info.targetElementId donné
+
{{WebExtApiRef("menus.overrideContext()")}}
+
Masquer tous les éléments de menu par défaut de Firefox en faveur d'une interface utilisateur de menu contextuel personnalisé.
+
{{WebExtAPIRef("menus.refresh()")}}
+
Mettre à jour un menu actuellement affiché.
+
{{WebExtAPIRef("menus.remove()")}}
+
Supprime un élément de menu.
+
{{WebExtAPIRef("menus.removeAll()")}}
+
Supprime tous les éléments de menu ajoutés par cette extension.
+
{{WebExtAPIRef("menus.update()")}}
+
Met à jour un élément de menu précédemment créé.
+
+ +

Evénements

+ +
+
{{WebExtAPIRef("menus.onClicked")}}
+
Lancé lorsqu'un élément de menu est cliqué.
+
{{WebExtAPIRef("menus.onHidden")}}
+
Lancé lorsque le navigateur cache un menu.
+
{{WebExtAPIRef("menus.onShown")}}
+
Lancé lorsque le navigateur affiche un menu.
+
+ +

Compatibilité du navigateur

+ +

{{ Compat("webextensions.api.menus", 1, "true") }}

+ +

{{WebExtExamples("h2")}}

+ +

Note :

+ +

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

+
+ + -- cgit v1.2.3-54-g00ecf