Javascript 铬突变观察者

Javascript 铬突变观察者,javascript,google-chrome,mutation-observers,Javascript,Google Chrome,Mutation Observers,我正在尝试使用Chrome中的突变观察者来监控添加新图像的时间,以下是我目前的代码: var observer = new window.MutationObserver(function (mutations) { mutations.forEach(function (mutation) { var m = mutation; //console.log(m); for (var j = 0; j < m.addedNodes.l

我正在尝试使用Chrome中的突变观察者来监控添加新图像的时间,以下是我目前的代码:

var observer = new window.MutationObserver(function (mutations) {
    mutations.forEach(function (mutation) {
        var m = mutation;
        //console.log(m);
        for (var j = 0; j < m.addedNodes.length; j++)
        {
            var nodes=m.addedNodes[j];
            if (!nodes || !nodes.querySelectorAll)
            {
                // Not all nodes support querySelectorAll, e.g. text nodes.
                continue;
            }

            var imgs= nodes.querySelectorAll("img");
            for (var k = 0; k < imgs.length; k++)
            {
                if(imgs[k].src != undefined)
                {
                    var img = imgs[k];
                    console.log(img);
                }
            }
        }
    });
});

var config = { childList: true };
// pass in the target node, as well as the observer options
observer.observe(window.document, config);
var observer=new window.MutationObserver(函数(突变){
突变。forEach(功能(突变){
var m=突变;
//控制台日志(m);
对于(var j=0;j
一件奇怪的事情正在发生:回调似乎被调用,但没有找到任何图像。当我打开控制台(Ctrl+Shift+J)时,代码开始正常工作,由该点添加的所有图像都被打印出来。当我重新调整打开的控制台的大小时,也会发生同样的事情

是否必须为配置值设置其他参数?
为什么突然打开控制台会使代码正常工作?

文档的子列表几乎从不更改。它通常只是一个孩子。您可能希望在
配置中使用
子树:true
,以便在文档深处添加图像时观察者可以运行


但这并不能解释为什么在控制台打开时代码仍在工作。

有关于如何添加新映像的详细信息吗?它是通过创建
属性添加的吗?