menus.remove()

移除一个菜单项。

为了与其他浏览器兼容,Firefox 将此方法同时通过 contextMenusmenus 命名空间提供。

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

语法

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

参数

integerstring。要移除的菜单项的 ID。

返回值

一个 Promise,如果移除成功,将不带参数地fulfilled;如果移除失败(例如,因为找不到该项),则会用错误消息rejected。

示例

此扩展程序添加了一个标签为“Remove me!”的菜单项。如果单击该项,扩展程序将移除它。

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

扩展程序示例

浏览器兼容性

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