最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Can chrome.contextMenus.update be used to disable a menu item? - Stack Overflow

programmeradmin2浏览0评论

I'm developing a Google Chrome extension that makes heavy use of the context menu, and I would like to make certain menu items available only on some domains.

Currently, I am using chrome.tabs.onUpdated and chrome.tabs.onSelectionChanged to check the tab url, and then I add or remove menu items based on a check against a domain list.

Is it possible to just disable the menu items, instead of removing them? I'm hoping for something like this:

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

I'm developing a Google Chrome extension that makes heavy use of the context menu, and I would like to make certain menu items available only on some domains.

Currently, I am using chrome.tabs.onUpdated and chrome.tabs.onSelectionChanged to check the tab url, and then I add or remove menu items based on a check against a domain list.

Is it possible to just disable the menu items, instead of removing them? I'm hoping for something like this:

chrome.contextMenus.update(id, {"disabled": true});
Share Improve this question edited Jul 20, 2012 at 9:11 JJJ 33.2k20 gold badges94 silver badges103 bronze badges asked Dec 26, 2010 at 4:54 draetondraeton 6856 silver badges13 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 3

It's possible now: https://developer.chrome./extensions/contextMenus#property-createProperties-enabled

chrome.contextMenus.update('your-id', {
    enabled: false
});

Unfortunately you cannot. That would be a neat feature I suppose. Feel free to submit a feature request http://crbug. (Make sure you mention any valid use cases for it).

An old post but maybe someone will find this answer useful.

As of Chrome 62 the following works (puts cleaner logic on large context menus): https://developer.chrome./apps/contextMenus#method-update

After the menu has been created, update the menu as follows:

chrome.contextMenus.update(intId-or-stringId, {"visible": true});

with toggle:

chrome.contextMenus.update(intId-or-stringId, {"visible": false});

Removing and creating menus will mess the order of the menu (new menus get placed at the bottom). Enabling and disabling still leaves the menu cluttered up. The visible option keeps the original order of the menu intact.

发布评论

评论列表(0)

  1. 暂无评论