目前,我的扩展程序最顶部的上下文菜单使用 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"
},
...
}
背景.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
的回调中执行此操作。
关于javascript - 更改扩展最上面的上下文菜单标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40773068/