繁体   English   中英

如何确定事件来自选项卡的主文档

[英]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();

https://developer.mozilla.org/En/DOM/Node.ownerDocument

看一下event对象的originalTargetexplicitOriginalTarget属性。 https://developer.mozilla.org/en/DOM/event.originalTarget

像这样使用它:

if(event.explicitOriginalTarget == theHookedObject) {    
   // do your stuff 
}

theHookedObject是您已将侦听器附加到的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM