menus.overrideContext()

Cette API permet aux extensions de masquer tous les éléments de menu par défaut de Firefox afin de fournir une interface utilisateur de menu contextuel personnalisée. Ce menu contextuel peut comprendre plusieurs éléments de menu de niveau supérieur de l'extension et éventuellement inclure des éléments de menu contextuel d'onglet ou de signet provenant d'autres extensions. Cela doit être appelé lors d'un gestionnaire d'événements DOM du menu contextmenu, et s'applique uniquement au menu qui s'ouvre après cet événement.

Cette API ne peut être appelée que si l'addon dispose de la permission "menus.overrideContext".

Syntaxe

browser.menus.overrideContext(
  contextOptions // object
)

Paramètres

contextOptions
object.Propriétés qui définissent le contexte du menu contextuel.
bookmarkId Facultatif
string Requis lorsque le contexte est un signet. Nécessite la permission  "bookmark" .
context Facultatif
string. pour passer outre, pour autoriser les éléments de menu d'autres extensions dans le menu. Actuellement, seuls "bookmark" et "tab" sont supportés. showDefaults ne peut pas être utilisé avec cette option.
showDefaults Facultatif
boolean. S'il faut également inclure des éléments de menu par défaut dans le menu.
tabId Facultatif
string Requis lorsque le contexte est "tab". Nécessite la permission "tabs" .

Exemples

Ouvrez le menu contextuel de l'onglet de votre interface utilisateur personnalisée, dans ce cas :

document.addEventListener('contextmenu', event => {
  const foo = event.target.closest('.foo');
  if (foo) {
    // When the context menu is opened on an element with the foo class
    // set the context to "opening a tab context menu".
    browser.menus.overrideContext({
      context: 'tab',
      tabId: parseInt(foo.dataset.tabId)
    });
  }
}, { capture: true });

Voir ce billet de blog pour plus de détails.