监控浏览器控制台中的所有 JavaScript 事件

2024-01-29

是否可以监听所有的javascript事件?

我试图猜测 AJAX 请求修改 DOM 后是否会触发事件。


With firebug http://getfirebug.com/wiki/index.php/Command_Line_API#monitorEvents.28object.5B.2C_types.5D.29 or 网络检查员 http://developer.apple.com/library/safari/#documentation/appleapplications/Conceptual/Safari_Developer_Guide/DebuggingYourWebsite/DebuggingYourWebsite.html您可以使用monitorEvents:

monitorEvents(myDomElem);

这会打印由myDomElem到控制台。使用unmonitorEvents停止监视事件。

如果您有兴趣在操作 DOM 后获取事件,请查看突变事件 http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents.

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

不用说,这是非常老套的,而且通常是不明智的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

监控浏览器控制台中的所有 JavaScript 事件 的相关文章

随机推荐