menus.refresh()
Refreshes a menu that's being shown.
Updates the extension's menu items in the menu that the browser is currently showing, including changes that have been made since the menu was shown. Has no effect if the menu is not being shown. Rebuilding a shown menu is an expensive operation, only invoke this method when necessary.
This would typically be called from inside a menus.onShown
event handler, after the handler has made any updates to the menu.
Firefox makes this function available via the contextMenus
namespace as well as the menus
namespace.
This is an asynchronous function that returns a Promise
.
Syntax
browser.menus.refresh()
Parameters
None.
Return value
A Promise
that is fulfilled with no arguments.
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
refresh |
No |
No |
60
60
|
? |
No |
No |
? |
? |
No |
? |
? |
? |
Examples
This example listens for the context menu to be shown over a link, then updates the openLabelledId
menu item with the link's hostname:
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); });
Example extensions
© 2005–2021 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