Javascript 将下拉菜单添加到chrome扩展图标

Javascript 将下拉菜单添加到chrome扩展图标,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我知道我可以将popup.html与单击扩展按钮相关联。然而,我希望它是一个菜单,就像点击Chrome自己的“定制和控制Google Chrome”按钮(位于扩展图标右侧)后弹出的菜单一样。我试着用谷歌搜索,但似乎没人在谈论这个。我是否缺少关于Chrome扩展开发的常识?你不能 您可以通过chrome.browserAction.onClicked注册单击,但不显示UI,或者在弹出窗口中打开HTML页面。您可以将其样式设置为菜单,但它仍然不会像本机下拉菜单 请注意,您可以右键单击扩展按钮,但您在

我知道我可以将popup.html与单击扩展按钮相关联。然而,我希望它是一个菜单,就像点击Chrome自己的“定制和控制Google Chrome”按钮(位于扩展图标右侧)后弹出的菜单一样。我试着用谷歌搜索,但似乎没人在谈论这个。我是否缺少关于Chrome扩展开发的常识?

你不能

您可以通过
chrome.browserAction.onClicked注册单击,但不显示UI,或者在弹出窗口中打开HTML页面。您可以将其样式设置为菜单,但它仍然不会像本机下拉菜单


请注意,您可以右键单击扩展按钮,但您在那里获得的菜单是固定的。我很久以前就提交了这个,但一直没有成功。现在有一个
contextMenus
context
“browser\u action”
实现了这一点。

这是一个实际的例子,因为文档实际上并没有说明:

manifest.js

{
  "name": "Foo menu",
  "description": "Demonstrating context menus on browser actions",
  "manifest_version": 2,
  "version": "1.0",
  "background": {
    "persistent": false,
    "scripts": ["background.js"]
  },
  "browser_action": {
    "default_title": "Click me"
  },
  "icons": {
    "16": "icon.png",
  },
  "permissions": ["contextMenus"]
}
background.js

chrome.contextMenus.removeAll();
chrome.contextMenus.create({
  id: "FOO_ACTION",
  title: "Foo",
  contexts: ["browser_action"],
});
chrome.contextMenus.onClicked.addListener((info, tab) => {
  if (info.menuItemId === "FOO_ACTION") {
    // Execute foo using tab id
    foo(tab.id);
  }
});

const foo = (tabId) => { console.log(`Foo called on tab with id ${tabId}`) };

我以前的体育老师常说,不能意味着不会,也不会意味着俯卧撑。那么,解决办法是什么呢?