56 votes

Surveiller tous les événements JavaScript dans la console du navigateur

Est-il possible d'écouter tous les événements javascript ?

J'essaie de deviner s'il y a un événement déclenché après la modification du DOM par une requête AJAX.

101voto

Xavi Points 9768

Avec firebug ou Inspecteur du Web vous pouvez utiliser monitorEvents :

monitorEvents(myDomElem);

Ceci imprime tous les événements émis par myDomElem à la console. Utilisez unmonitorEvents pour arrêter de surveiller les événements.

Si vous êtes intéressé par l'obtention d'événements après que le DOM ait été manipulé, jetez un coup d'oeil à Événements de mutation .

Modifier :

Pour autant que je sache, il n'existe pas de moyen facile d'intercepter tous les onreadystatechange de tous les XMLHttpRequest. La seule solution à laquelle je pense est de remplacer l'objet XMLHttpRequest natif par votre propre implémentation. Par exemple :

(function() { // Overriding XMLHttpRequest
    var oldXHR = window.XMLHttpRequest;

    function newXHR() {
        var realXHR = new oldXHR();

        realXHR.addEventListener("readystatechange", function() { 
            console.log("an ajax request was made") 
        }, false);

        return realXHR;
    }

    window.XMLHttpRequest = newXHR;
})();

Inutile de dire que c'est extrêmement compliqué et généralement peu judicieux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X