[英]document.activeElement not available on firefox addon's content script only for Gmail
[英]Handling rightclick in a firefox addon, only for the document
我正在编写一个相当简单的firefox附加组件,当用户在网页的任何位置点击鼠标右键时,我想做一些事情。 我得到了它的工作,但奇怪的是我也从firefox UI获得所有右键单击(如在工具栏,选项卡,urlbar等)。 当然,我对那些不感兴趣。
document.addEventListener("contextmenu", function(e) {
// do stuff here
}, true);
我最初在窗口上有这个监听器,但它并没有改变一件事。
关于如何在网站上发生右键点击时触发事件的任何提示?
我猜你是从浏览器窗口叠加运行代码-这样的document
,你附上你的事件监听器是浏览器窗口的XUL文件。 如果您只需要浏览器中的事件,那么您应该将事件监听器附加到浏览器。 这仍然不会做你想要的,因为浏览器也有一些用户界面(通知栏),但很容易检测事件目标是否在内容文档中:
gBrowser.addEventListener("contextmenu", function(e) {
if (e.target.ownerDocument.defaultView.top == window)
return;
// do stuff here
}, true);
这使用了window.top
是浏览器内窗口的顶级内容窗口这一事实 - 它们不能越过边界到XUL代码。 对于浏览器UI元素,您将获得真正的顶部窗口,但是您运行的窗口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.