2015-04-27 15 views
6

Bir img src dosyasındaki değişiklikleri almak için web sayfama bir MutationObserver eklemeye çalışıyorum ancak bu çalışmaz. İşte JavaScript'deki basit mutasyon gözlemcisi örneği çalışmıyor

kullanılan kod: Eğer ararsanız

setTimeout(function() { 
 
    document.getElementById("img").src = "http://i.stack.imgur.com/aQsv7.jpg" 
 
}, 2000); 
 

 
var target = document.querySelector('#img'); 
 

 
var observer = new MutationObserver(function(mutations) { 
 
    mutations.forEach(function(mutation) { 
 
    console.log(mutation.type); 
 
    }); 
 
}); 
 

 
var config = { 
 
    attributes: true, 
 
    childList: false, 
 
    characterData: false 
 
}; 
 

 
observer.observe(target, config); 
 
observer.disconnect();
<img src="http://i.stack.imgur.com/k7HT5.jpg" id="img" class="pic" height="100">

+0

hangi tarayıcı (ler) denedin mi? Destek iyi ama her yerde değil - http://caniuse.com/#feat=mutationobserver – joews

+0

google chrome –

+0

denerseniz ben bağlantı kesilir çağrıyı alırsınız, bildirim almazsınız, gözlemlemek ister misiniz değil mi? – InferOn

cevap

9

artık bildirim almayacak disconnect yöntemi:

Quote from MDN

disconnect() 

MutationObserver örneğini, DOM mutasyonlarının bildirimlerini almasını durdurur. Observe() yöntemi tekrar kullanılıncaya kadar gözlemcinin geri çağrısı başlatılmayacaktır.

setTimeout(function() { 
 
    document.getElementById("img").src = "http://i.stack.imgur.com/aQsv7.jpg" 
 
}, 2000); 
 

 
setTimeout(function() { 
 
     document.getElementById("img").src = "http://i.imgur.com/Xw6htaT.jpg" 
 
    }, 4000); 
 

 
var target = document.querySelector('#img'); 
 

 
var observer = new MutationObserver(function(mutations) { 
 
    
 
    mutations.forEach(function(mutation) { 
 
    console.log(mutation.type); 
 
    }); 
 
}); 
 

 
var config = { 
 
    attributes: true, 
 
    childList: false, 
 
    characterData: false 
 
}; 
 

 
observer.observe(target, config); 
 

 
// otherwise 
 
observer.disconnect(); 
 
observer.observe(target, config);
<img src="http://i.stack.imgur.com/k7HT5.jpg" id="img" class="pic" height="100">

+0

çok teşekkür ederim. –