Partage
  • Partager sur Facebook
  • Partager sur Twitter

MutationObserver détection ajout DOM

Sujet résolu
    Staff 18 juin 2019 à 16:03:21

    Bonjour,

    Je suis en train de créer un script GreaseMonkey pour améliorer l'ergonomie d'un site web (ce forum pour tout dire).

    Je souhaite détecter l'ajout d'un élément dans le DOM, et pour cela j'utilise donc un MutationObserver.

    var observer = new MutationObserver( function(mutations) {
    	mutations.forEach(function(mutation) {
    		if( mutation.addedNodes && mutation.addedNodes.length > 0 ) {
    			if( mutation.addedNodes[0].classList && mutation.addedNodes[0].classList.contains("notificationsList__count") ) {
    				console.log( mutation );
    			}
    		}
    	});
    });
    observer.observe( document.body, {childList: true} );

    J'ai placé l'écouteur sur le body, mais je ne passe jamais dans le if final ... pourtant j'ai bien un <span class="notificationsList__count"> qui est ajouté ...

    Je précise que le code fonctionne pour une autre classe, sans problème ...

    Si quelqu'un gère un peu les MutationObserver et qu'il peut critiquer mon code et/ou me proposer une solution, je suis preneur ;)

    EDIT : Problème résolu en ajoutant subtree: true dans les paramètres de la méthodes observe ... l'autre classe était directement créée dans le body donc ça passait ...

    -
    Edité par Benzouye 18 juin 2019 à 16:24:05

    • Partager sur Facebook
    • Partager sur Twitter
    Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

    MutationObserver détection ajout DOM

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown