Od http://updates.html5rocks.com/2012/02/Detect-DOM-changes-with-Mutation-Observers mam następujący kod:Dlaczego w przeglądarce Chrome 30 nie działa kod MutationObserver?
var insertedNodes = [];
var observer = new WebKitMutationObserver(function(mutations) {
alert('run');
mutations.forEach(function(mutation) {
for (var i = 0; i < mutation.addedNodes.length; i++)
insertedNodes.push(mutation.addedNodes[i]);
})
});
observer.observe(document, { childList: true });
console.log(insertedNodes);
var divElement = document.createElement('div');
divElement.innerHTML = 'div element';
document.querySelector('body').appendChild(divElement);
jsFiddle: http://jsfiddle.net/cUNH9
Jak widać, powinniśmy zobaczyć alert ponieważ element div
jest włożona do DOM. Ale wygląda na to, że kody MutationObserver nie działają. Jak mogę uruchomić kod MutationObserver?
Tak, jeśli zaobserwujesz document.body to zadziała .. – PSL
@plalx Próbowałem obu 'new MutationObserver' oraz' new WebKitMutationObserver'. Mają ten sam wynik. – weilou
@weilou, Nie używaj 'document.querySelector ('body')', użyj po prostu 'document.body'. – plalx