menus.refresh()

重新整理正在顯示的選單。

更新瀏覽器當前顯示的選單中的擴充套件選單項,包括自選單顯示以來所做的更改。如果選單未顯示,則無效。重新構建已顯示的選單是一項耗時的操作,僅在必要時呼叫此方法。

這通常會在 menus.onShown 事件處理程式中呼叫,在該處理程式更新選單後。

Firefox 可以透過 contextMenus 名稱空間以及 menus 名稱空間來訪問此函式。

這是一個非同步函式,返回一個 Promise

語法

js
browser.menus.refresh()

引數

無。

返回值

一個 Promise,它在沒有引數的情況下被 fulfilled。

示例

此示例監聽上下文選單在連結上顯示,然後使用連結的主機名更新 openLabelledId 選單項

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

擴充套件程式示例

瀏覽器相容性