簡體   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