Отслеживать все события JavaScript в консоли браузера

Возможно ли прослушать все события javascript?

Я пытаюсь угадать, есть ли событие, вызванное после того, как DOM был изменен запросом AJAX .

53
задан stackular 28 August 2014 в 00:25
поделиться

1 ответ

С firebug или веб-инспектором вы можете использовать monitorEvents :

monitorEvents(myDomElem);

Это печатает все события, генерируемые myDomElem в консоль. Используйте unmonitorEvents , чтобы остановить мониторинг событий.

Если вы заинтересованы в получении событий после того, как DOM была изменена, взгляните на Mutation Events .

Edit :

Насколько мне известно, нет простого способа перехватить все события onreadystatechange из всех XMLHttpRequest. Единственное, что я могу придумать, - это переопределить собственный объект XMLHttpRequest собственной реализацией. Например:

(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;
})();

Излишне говорить, что это крайне взломано и, как правило, опрометчиво.

98
ответ дан 7 November 2019 в 08:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: