menus.remove()

移除菜单项。

为了与其他浏览器兼容,Firefox 通过 contextMenus 命名空间以及 menus 命名空间提供了此方法。

这是一个异步函数,它返回一个 Promise

语法

js
let removing = browser.menus.remove(
  menuItemId      // integer or string
)

参数

整数字符串。要移除的菜单项的 ID。

返回值

一个 Promise,如果移除成功,则将以无参数的方式完成,如果移除失败(例如,因为找不到该项),则将拒绝并显示错误消息。

示例

此扩展添加了一个标记为“移除我!”的菜单项。如果单击该项,扩展将将其移除。

js
function onRemoved() {
  console.log("item removed successfully");
}

function onError() {
  console.log("error removing item:", browser.runtime.lastError);
}

browser.menus.create({
  id: "remove-me",
  title: "Remove me!",
  contexts: ["all"],
});

browser.menus.onClicked.addListener((info, tab) => {
  if (info.menuItemId === "remove-me") {
    let removing = browser.menus.remove(info.menuItemId);
    removing.then(onRemoved, onError);
  }
});

扩展示例

浏览器兼容性

BCD 表仅在浏览器中加载

注意:此 API 基于 Chromium 的 chrome.contextMenus API。此文档源自 Chromium 代码中的 context_menus.json