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);
});
扩展程序示例
浏览器兼容性
加载中…