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