【问题标题】:How can I set up a context menu in Google Chrome so that all of the menu are top level?如何在 Google Chrome 中设置上下文菜单,以便所有菜单都是顶级的?
【发布时间】:2019-08-13 19:16:29
【问题描述】:

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

这是我的插件示例,其中包含一个顶级菜单项和几个子菜单项:

我想把它们带到顶层,因为我经常使用它们。这是我到目前为止的代码,但我不知道如何将它们全部提升一个级别:

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});

【问题讨论】:

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


    【解决方案1】:

    这是不可能的,您只能为每个扩展创建一个顶级菜单。

    来自specs:

    您可以根据需要创建任意数量的上下文菜单项,但如果您的扩展程序中有多个同时可见,Google Chrome 会自动将它们折叠到一个父菜单中。

    【讨论】:

      【解决方案2】:

      Serg 是对的,Chrome 的菜单无法做到这一点。如果你愿意替换整个右键菜单是可以的:

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

      还有其他几个菜单替换插件/框架。

      您是否考虑过只为您感兴趣的页面添加一个菜单栏?

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

      您可以一键访问所需的菜单项。

      【讨论】:

      • 谢谢!很好的资源,但我想我只能忍受嵌套菜单 b/c 我不愿意替换它:) 如果你有机会看看这个:bit.ly/nARS6K
      猜你喜欢
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 2018-06-15
      • 1970-01-01
      相关资源
      最近更新 更多