我尝试使用mutationObserver
更改图片来源,检查动态创建的元素的document.body
,然后相应地更新它们。
我怀疑由于我使用的是{attributes: true, subtree: true}
,每次我尝试更新src
时都会触发回调,从而导致页面无响应。
有没有人知道如何解决这个问题?我认为forEach
是我的问题,但即使没有它,问题仍然存在。我甚至尝试从mutationObserver
返回值以在函数内部使用,但它只是返回undefined
,除非我选择console.log
。
以下代码:
var target = document.body;
config = {attributes: true, subtree: true}
var makeObserver = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation){
if (mutation.target.tagName === 'IMG'){
mutation.target.src = "http://example.com/some_img.jpg";
console.log(mutation.target);
}
});
});
(function(){
makeObserver.observe(target, config);
})();
谢谢!