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

js
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:

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

Beispielerweiterungen