2012-10-24 29 views
3

我有一個Chrome擴展,它在加載頁面後將iFrame注入到dom中。檢測我的Chrome擴展之外生成的DOM更改

我也想聽dom的變化,但我想忽略因注入iFrame而被解僱的DOMSubtreeModified。因此,任何事件,在我注入我的iFrame之前或之後,我想要捕獲。

這裏是我的內容腳本是在尋找DOM變化的基礎知識:

var processRequest = function() { 
    $('body').bind('DOMSubtreeModified', DOMModificationHandler); 
    return 'complete'; 
} 

function DOMModificationHandler() { 
    $(this).unbind('DOMSubtreeModified'); 
    setTimeout(function() { 
    //skip this if it was my iFrame injection that caused this event 
    //someLocalFunction(); 
    $('#ContentContainer').bind('DOMSubtreeModified', DOMModificationHandler); 
    },1000); 
} 

有什麼我可以做我的注射來區分,和其他DOM事件,該DOMModificationHandler火災時?

**更新:我認爲添加一些類型的id或數據元素的iFrame,但只是告訴我,它在那裏,而不是它是導致事件的iFrame。尤其是當有更新dom部分的AJAX請求時。任何ID或數據屬性可能已經存在,所以我仍然不知道圓頂變化的來源。

回答