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
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 :
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);
});