2012-10-24 31 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或数据属性可能已经存在,所以我仍然不知道圆顶变化的来源。

回答