如何在Google Chrome中设置上下文菜单,以便所有菜单都是顶级菜单?

时间:2011-10-11 03:57:32

标签: google-chrome google-chrome-extension contextmenu

我正在开发Google Chrome扩展程序,并设置了几个右键单击上下文菜单项。我看到语法中有一些东西可以添加一个菜单项,允许你选择一个parentID,但我没有看到任何允许你选择将所有菜单项作为顶级项目的东西。

以下是我的插件示例,其中包含一个顶级菜单项,然后是几个子菜单项:

Screen shot 2011-10-10 at 11.51.00 PM.png http://img571.imageshack.us/img571/6360/screenshot20111010at115.png

我想将它们带到顶层,因为我经常使用它们。这是我到目前为止的代码,但我无法弄清楚如何将它们全部拉到一个级别:

chrome.contextMenus.create({'title': 'Send URL to Quicksilver',
                            'contexts': ['all'],
                            'onclick': sendToQuicksilver});

chrome.contextMenus.create({'title': 'Send File to Quicksilver',
                            'contexts': ['all'],
                            'onclick': sendFileToQuicksilver});


chrome.contextMenus.create({'title': 'Quick Download',
                            'contexts': ['all'],
                            'onclick': quickDownload});


chrome.contextMenus.create({'title': 'Edit in Textmate',
                            'contexts': ['all'],
                            'onclick': editInTextmate});


chrome.contextMenus.create({'title': 'Open Project in Textmate',
                            'contexts': ['all'],
                            'onclick': editProjectInTextmate});

2 个答案:

答案 0 :(得分:8)

这是不可能的,每个分机只允许创建一个顶级菜单。

来自specs

  

您可以根据需要创建任意数量的上下文菜单项,但如果您的扩展程序中同时显示多个,则Google Chrome会自动将其折叠为单个父菜单。

答案 1 :(得分:2)

Serg是对的,Chrome的菜单无法使用。如果您愿意替换整个右键单击菜单,则可以:

http://davidwalsh.name/mootools-context-menu

还有其他一些菜单替换插件/框架。

您是否考虑过在您感兴趣的网页上添加菜单栏?

http://www.hongkiat.com/blog/drop-down-menu-30-free-scripts-to-enhance-header-navigation/

您只需点击一下即可访问所需的菜单项。