更改扩展名顶级上下文菜单标题
问题描述:
当前,我的扩展程序的最上面的上下文菜单使用manifest.json
name
作为标题。 name
相当长,并创建一个大的上下文菜单来适应它。是否可以更改上下文菜单使用的标题?我宁愿使用manifest.json
short_name
。更改扩展名顶级上下文菜单标题
我在the docs中没有找到任何提到这样做的内容。
实施例:
的manifest.json{
"name": "My extension - And a blurb",
"short_name": "My extension"
...
"permissions": [
"contextMenus"
],
"icons": {
"16": "icon-bitty.png",
"48": "icon-small.png",
"128": "icon-large.png"
},
...
}
background.js
chrome.contextMenus.create({"title": "Test item"});
结果,看起来上下文菜单等:
My extension - And a blurb
|
--- Test item
我希望它是:
My extension
|
--- Test item
答
这种行为只发生,如果你有超过1菜单项,不要拿自己的层次结构的照顾。
如果您声明自己的“根”项目,并且所有其他项目都明确地在其中,则不会发生这种情况。
chrome.contextMenus.removeAll();
chrome.contextMenus.create({title: "How fancy", id: "root"});
chrome.contextMenus.create({title: "Indeed", id: "sub1", parentId: "root"});
chrome.contextMenus.create({title: "Indubitably", id: "sub2", parentId: "root"});
将导致
[your 16x16 icon] How fancy
|
+- Indeed
|
+- Indubitably
在一般情况下,要确保你的ID分配给您的上下文菜单。它对于很多目的很有用。
注意:从技术上讲,contextMenus
是一个异步API,理想情况下,应该链接调用,而不是简单地排序它们,但对同一个异步API的调用序列在这种情况下似乎工作正常。如果您需要在添加所有菜单后运行代码,请在最后一个回调create
中执行。
请编辑问题为主题:包括一个**完整的** [mcve],重复的问题。包括一个* manifest.json *,一些背景*和*内容脚本。寻求调试帮助的问题(“**为什么不是这个代码工作?”)必须包括:►期望的行为,►特定问题或错误*和*►在问题中重现问题所需的最短代码**本身**。没有明确问题陈述的问题对其他读者无益。请参阅:“**如何创建[mcve] **”,[我可以在此处询问哪些主题?](http://stackoverflow.com/help/on-topic)和[问]。 – Makyen
基本上,如果我们要调查这一点,并且正确地理解*你正在谈论的内容,那么[mcve]会让它变得更容易。此外,一个小屏幕截图显示*正是*你在说什么会有所帮助。我可以*猜测*你在说什么,我相信我知道,但我不知道*我理解你正在谈论哪个上下文菜单是正确的。 – Makyen
增加了一个例子 – kspearrin