Spec-Zone.ru › Web Extensions

menus.refresh()

Обновляет отображаемое меню.

Обновляет пункты меню расширения в текущем отображаемом меню браузера, включая изменения, внесённые с момента отображения меню. Не имеет эффекта, если меню не отображается. Перестроение отображаемого меню — ресурсоёмкая операция, вызывайте этот метод только по необходимости.

Обычно этот метод вызывается из обработчика события menus.onShown после внесения любых обновлений в меню.

Функция доступна в Firefox через пространство имён contextMenus а также menus пространство имён.

Это асинхронная функция, которая возвращает Promise.

Синтаксис

browser.menus.refresh()

Параметры

Нет.

Возвращаемое значение

A Promise, который выполняется без аргументов.

Совместимость с браузерами

Рабочий стол Мобильный
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
refresh Нет Нет 6060 ? Нет Нет ? ? Нет ? Нет ?

Примеры

В этом примере прослушивается событие отображения контекстного меню над ссылкой, а затем обновляется пункт меню openLabelledId с хост-именем ссылки:

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

Примеры расширений

  • menu-labelled-open

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/menus/refresh

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API