appAPI.contextMenu
回调返回的数据目前只有以下内容:
似乎没有办法告诉实际上点击了什么,只有一些关于它的信息。例如,我可以搜索所有图像并找到匹配srcUrl
的图像,但如果同一图像多次出现该怎么办?
我可以尝试在extension.js
中捕获右键单击事件,并尝试将它们与上下文菜单事件相匹配,但这似乎非常圆。
找到所选元素的预期方法是什么(在receiving the event in the page之后)?
让我们说,例如我希望能够右键单击图像并display:none
。
答案 0 :(得分:0)
目前,Crossrider平台不支持您需要的功能,我认为您的解决方法是合理的。但是,我已将您的建议转发给Crossrider开发团队,他们将在未来的版本中考虑它。
[披露:我是Crossrider员工]
答案 1 :(得分:0)
作为一种解决方法,这实际上看起来非常可靠,尽管我还没有经过多少测试。 TBH我期待着一致性问题:
//in extension.js (background.js just forward context menu events)
var lastRightClicked = null;
window.addEventListener("contextmenu", function(e) { //I guess a mousedown event would work here too
lastRightClicked = e.target;
}, true);
appAPI.message.addListener({channel:"contextmenu"}, function(message) {
if (message.menuitem == "Hide")
lastRightClicked.style.display = "none";
});