menus.refresh()
Aktualisiert ein Menü, das gerade angezeigt wird.
Aktualisiert die Menüelemente der Erweiterung im Menü, das der Browser aktuell anzeigt, einschließlich Änderungen, die vorgenommen wurden, seit das Menü gezeigt wurde. Hat keine Wirkung, wenn das Menü nicht angezeigt wird. Das Neuladen eines angezeigten Menüs ist eine kostspielige Operation. Rufen Sie diese Methode nur auf, wenn es notwendig ist.
Dies wird typischerweise von einem menus.onShown
Ereignishandler aufgerufen, nachdem der Handler Aktualisierungen am Menü vorgenommen hat.
Firefox stellt diese Funktion sowohl über den contextMenus
-Namensraum als auch über den menus
-Namensraum 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.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
Dieses Beispiel wartet darauf, dass das Kontextmenü über einem Link angezeigt wird, und aktualisiert dann das openLabelledId
-Menüelement mit dem Hostnamen des Links:
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);
});