menus.refresh()

Actualise un menu affiché.

Met à jour les éléments de menu de l'extension dans le menu affiché par le navigateur, y compris les modifications effectuées depuis l'affichage du menu. N'a aucun effet si le menu n'est pas affiché. La reconstruction d'un menu affiché est une opération coûteuse. N'utilisez cette méthode que lorsque cela est nécessaire.

Cela est généralement appelé depuis l'intérieur d'un gestionnaire d'événements menus.onShown après que le gestionnaire a effectué des mises à jour dans le menu.

Firefox rend cette fonction disponible via l'espace de noms contextMenus ainsi que l'espace de noms des menus.

C'est une fonction asynchrone qui renvoie une Promise.

Syntaxe

js
browser.menus.refresh();

Paramètres

Aucun.

Valeur retournée

Une Promise qui se réalise sans arguments.

Compatibilité des navigateurs

BCD tables only load in the browser

Exemples

Cet exemple permet d'afficher le menu contextuel sur un lien, puis met à jour l'élément de menu openLabelledId menu item avec le nom d'hôte du lien :

js
function updateMenuItem(linkHostname) {
  browser.menus.update(openLabelledId, {
    title: `Open (${linkHostname})`,
  });
  browser.menus.refresh();
}

browser.menus.onShown.addListener((info) => {
  if (!info.linkUrl) {
    return;
  }
  let linkElement = document.createElement("a");
  linkElement.href = info.linkUrl;
  updateMenuItem(linkElement.hostname);
});

Example extensions