[英]How to determine the event came from the main document of the tab
我正在为Firefox开发扩展程序。 该扩展将事件侦听器添加到“加载”事件的“ appcontent”元素中。
如何确定事件来自选项卡的主文档? 此刻,来自页面不同元素的所有事件都来了(例如图像,甚至触发了扩展文档,甚至扩展文档)。 我想排除所有情况,包括框架,iframe等,仅排除在位置栏中键入的url。
对于那些指出问题本身并可能通过搜索找到问题的人来说,这只是一个答案。
用线解决任务
if (Event.originalTarget == content.document)
为我工作。
在某些新闻组中找到
您可以比较event.srcElement.ownerDocument
主页文件吗? 您也可以使用.location.href属性。 快速而肮脏的例子:
//- on event
var doc = event.srcElement.ownerDocument;
if (doc && (doc.location.href == currentUrl))
runFunction();
看一下event
对象的originalTarget
和explicitOriginalTarget
属性。 https://developer.mozilla.org/en/DOM/event.originalTarget
像这样使用它:
if(event.explicitOriginalTarget == theHookedObject) {
// do your stuff
}
theHookedObject
是您已将侦听器附加到的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.