menus.refresh()
Aktualisiert ein gerade angezeigtes Menü.
Aktualisiert die Menüelemente der Erweiterung in dem Menü, das der Browser derzeit anzeigt, einschließlich aller Änderungen, die seit dem Anzeigen des Menüs vorgenommen wurden. Hat keine Wirkung, wenn das Menü nicht angezeigt wird. Das Neuaufbauen eines angezeigten Menüs ist ein aufwendiger Vorgang; rufen Sie diese Methode nur auf, wenn es erforderlich ist.
Dies wird typischerweise innerhalb eines Event-Handlers für menus.onShown aufgerufen, nachdem der Handler Aktualisierungen am Menü vorgenommen hat.
Firefox stellt diese Funktion sowohl über den Namespace contextMenus als auch über den Namespace menus zur Verfügung.
Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.
Syntax
browser.menus.refresh()
Parameter
Keine.
Rückgabewert
Ein Promise, das ohne Argumente erfüllt wird.
Beispiele
Dieses Beispiel wartet darauf, dass das Kontextmenü über einem Link angezeigt wird, und aktualisiert dann das Menüelement openLabeledId mit dem Hostnamen des Links:
function updateMenuItem(linkHostname) {
browser.menus.update(openLabeledId, {
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);
});