Javascript 是否可以使用chrome.contextMenus.update禁用菜单项?

Javascript 是否可以使用chrome.contextMenus.update禁用菜单项?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在开发一个Google Chrome扩展,它大量使用上下文菜单,我想让某些菜单项只在某些域上可用 目前,我正在使用chrome.tabs.onUpdate和chrome.tabs.onSelectionChanged检查选项卡url,然后根据对域列表的检查添加或删除菜单项 是否可以只禁用菜单项,而不删除它们?我希望这样: chrome.contextMenus.update(id, {"disabled": true}); 不幸的是,你不能。我想这将是一个简洁的特点。请随时提交功能请求(请

我正在开发一个Google Chrome扩展,它大量使用上下文菜单,我想让某些菜单项只在某些域上可用

目前,我正在使用chrome.tabs.onUpdate和chrome.tabs.onSelectionChanged检查选项卡url,然后根据对域列表的检查添加或删除菜单项

是否可以只禁用菜单项,而不删除它们?我希望这样:

chrome.contextMenus.update(id, {"disabled": true});

不幸的是,你不能。我想这将是一个简洁的特点。请随时提交功能请求(请确保您提到了它的任何有效用例)。

现在可以:


这是一篇老文章,但也许有人会发现这个答案很有用

从Chrome 62开始,以下功能开始发挥作用(将更清晰的逻辑放在大型上下文菜单上):

创建菜单后,按如下方式更新菜单:

更新(intId或stringId,{“可见”:true})

使用切换:

更新(intId或stringId,{“可见”:false})


删除和创建菜单会扰乱菜单的顺序(新菜单会被放置在底部)。启用和禁用仍然会使菜单混乱不堪。“可见”选项保持菜单的原始顺序不变。

谢谢您的回复。我在这里读了一下你的老帖子:经过一些重构后,我意识到chrome.contextMenus.create documentUrlPatterns参数适合我的需要。不幸的是,如果你选择显示/隐藏所有菜单项,你将得到一个(空)子菜单
chrome.contextMenus.update('your-id', {
    enabled: false
});