我正在学习创建Firefox扩展。现在我写了一个简单的测试扩展,将页面上的所有图像更改为我的图像:
var images = document.getElementsByTagName('img');
var myimgURL = browser.extension.getURL("images/myimg.jpg");
for (var i=0; i<images.length; i++){
var img = images[i];
img.setAttribute("src", myimgURL);
}
它适用于静态页面,但不适用于通过AJAX(如Facebook Feed)动态加载的内容。
如何更改代码以使用动态内容。谢谢!
UPD: 现在我尝试使用MutationObserver监视更改,但它似乎对我不起作用。 这是我的代码:
var images = document.getElementsByTagName('img');
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
alert("Mutation!");
});
});
var config = { attributes: true, childList: true, characterData: true };
observer.observe(images, config);
我打开Facebook页面,滚动它以加载新图像,但不会收到任何警报。 我的代码现在出了什么问题?