1

我已经陷入这个问题已经几个小时了,有没有人知道每次用户点击谷歌浏览器扩展时如何显示上下文菜单。我设法用我的 default_popup 显示菜单,但我发现我应该在上下文菜单上实现它。

这是图像:

我有以下代码

清单.json

{
    "name": "Hello Toolbar",
    "version": "1.0",
    "manifest_version": 2,
    "description": "A Toolbar that helps.",
    "browser_action": {
        "default_icon": "icon.png"
    },
    "background": {
        "scripts": ["background.js"]
    },
    "permissions": [
        "cookies",
        "http://*/*",
        "tabs",
        "contextMenus"
    ]
}

背景.js

chrome.browserAction.onClicked.addListener( function(tab){
    chrome.contextMenus.create({"title": "Test parent item", "contexts": ['page']}); 
});

但它不起作用。

4

1 回答 1

4

我认为您对chrome.contextMenusAPI 的期望是错误的。它永远不能用于打开上下文菜单。它只能在满足某些自定义条件时告诉 Chrome 显示上下文菜单条目(请参阅该create方法的文档以了解如何定义这些条件)。

在下面的截屏视频中,我展示了您的代码的预期行为。

  • 除非用户右键单击,否则不会显示上下文菜单。
  • 单击浏览器操作按钮后,在打开页面内的上下文菜单时会显示上下文菜单条目。

如果您希望在单击时出现“弹出窗口”,请使用清单文件部分中的"default_popup"条目。"browser_action"然后,显示以下内容:

您可以使用 CSS 使弹出窗口看起来像“上下文菜单”。浏览器操作文档提供了一些示例

于 2012-10-15T09:05:52.030 回答