javascript - 将子项添加到上下文菜单链接

标签 javascript google-chrome-extension contextmenu

我正在尝试为我的上下文菜单添加子项,但由于某种原因它对我不起作用。这是我的代码:

var parent1 = chrome.contextMenus.create({"title": "Trigger Rank", "contexts":["link"]});

var child1 = chrome.contextMenus.create
(
    {"title": "Rank 1", "parentId": parent1, "onclick": genericOnClick}
);
var child2 = chrome.contextMenus.create
(
    {"title": "Rank 2", "parentId": parent1, "onclick": genericOnClick}
);
var child2 = chrome.contextMenus.create
(
    {"title": "Rank 3", "parentId": parent1, "onclick": genericOnClick}
);



var parent2 = chrome.contextMenus.create({"title": "Target Rank", "contexts":["link"]});
var child1 = chrome.contextMenus.create
(
    {"title": "Rank 1", "parentId": parent2, "onclick": genericOnClick}
);
var child2 = chrome.contextMenus.create
(
    {"title": "Rank 2", "parentId": parent2, "onclick": genericOnClick}
);
var child3 = chrome.contextMenus.create
(
    {"title": "Rank 3", "parentId": parent2, "onclick": genericOnClick}
);

看起来很简单,但这是我的第一个 Chrome 扩展,也是我第一次用 JavaScript 编写。所以可能是我遗漏了一些东西。

目前,右键单击链接时,仅显示父级(而不是子级)。

提前致谢,如果我的问题太“新手”,抱歉。 :)

最佳答案

您的父项的 contexts 设置为 ["link"],但您的子项的默认 contexts[ “页面”]。因此:

  • 当您右键单击链接时,父级会显示,但子级不会显示,因为它们未设置为显示在链接上。
  • 当您右键单击链接以外的其他内容时,父级不会显示,因此子级也不会显示。

您必须将 child 的 contexts 值设置为与 parent 的 ["link"] 值相匹配。

关于javascript - 将子项添加到上下文菜单链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14818714/

相关文章:

javascript - 获取字符串中第 n 次出现的索引

javascript - 如何从异步调用返回响应?

javascript - 使用正则表达式从 javascript 函数返回语句中查找键/值

javascript - 如何从常规网站调用 Chrome 扩展中定义的函数?

c# - 如何从 ItemTemplate 中将命令绑定(bind)到 ContextMenu?

javascript - 在javascript中声明可观察到的动态 knockout

javascript - For 循环在字符串替换时无法按预期工作

javascript - Chrome 扩展程序 : browserAction. onClicked.addListener() 未被调用

C# ContextMenu 删除默认选择

wpf - 自定义控件中 ContextMenu 的正确绑定(bind)