在 Chrome 扩展中禁用父上下文菜单

Disable Parent ContextMenu in Chrome Extension

如果我有一个带有子菜单的 Chrome Extension context menu,我如何禁用父项以便在启用父项之前无法访问子菜单项?

chrome.contextMenus.create({
  id: "parentMenu",
  title: "Parent Menu",
  contexts: ["browser_action"],
  enabled: false
});

// Create a submenu with two radio buttons

chrome.contextMenus.create({
  parentId: "parentMenu",
  title: "Submenu1",
  contexts: ["browser_action"],
  type: "radio",
  checked: true,
  onclick: function (evt) {}
});

chrome.contextMenus.create({
  parentId: "parentMenu",
  title: "Submenu2",
  contexts: ["browser_action"],
  type: "radio",
  onclick: function (evt) {}
});

即使 parentMenu 被标记为禁用,它也没有禁用。当我禁用子菜单时,它们会按预期禁用。

我猜子菜单是不可能的。

解决方法是删除所有子菜单项,使根菜单项成为普通条目,然后将其禁用。你失去了箭头,但达到了禁用状态。

尽管考虑其他一些 UI 方法;这似乎有点笨拙。