目前,我的扩展程序的最顶层上下文菜单使用manifest.json
name
作为标题。 name
相当长,并创建一个大的上下文菜单以适应它。是否可以更改上下文菜单使用的标题?我希望它使用manifest.json
short_name
。
我无法在the docs中找到提及此事的任何内容。
示例:
{
"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"
},
...
}
chrome.contextMenus.create({"title": "Test item"});
结果显示在上下文菜单中:
My extension - And a blurb
|
--- Test item
我希望它是:
My extension
|
--- Test item
答案 0 :(得分:1)
只有当您拥有多个菜单项并且不处理自己的层次结构时,才会发生此行为。
如果您声明自己的" root"项目,以及所有其他项目明确在其中,这不会发生。
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
的回调中执行此操作。