我正在Google Chrome中创建一个上下文菜单项,如下所示:
chrome.contextMenus.create({
"title":"My Context Menu Item",
"contexts":["editable"],
"onclick": onClick
});
onClick
回调接收两个参数:OnClickInfo
对象和制表符对象。这两个对象似乎都不包含对调用上下文菜单时右键单击的DOM元素的引用。我有console.logged
这两个对象,但在任何地方都没有看到对目标元素的任何引用。
期望的结果:
onClick
回调中,让我的扩展程序搜索相对于目标右键单击元素的父“表单”元素现在看来,Chrome看起来并不像目标元素那样提供任何参考。有没有人找到解决这个限制的方法?
答案 0 :(得分:8)
您必须在每个页面中注入内容脚本并侦听mousedown
事件并记录最后单击的元素。然后,当调用上下文菜单回调时,您必须sendRequest
到选项卡以获取有关该最后单击元素的信息。