有没有一种简单的方法来检测XMLHttpRequest在浏览器窗口中是否处于活动状态?还是有多少活跃?即。有没有一种方法可以检测我的浏览器窗口中是否有活动的AJAX调用?
问题的扩展: 使用javascript有没有办法查看是否打开了XMLHttpRequests?例如“ window.XMLisActive()”或类似的东西?
解决方案:最终为XMLHttpRequest写一个包装器https://gist.github.com/1820380
除非您为JS编写一个包装器XmlHttpRequest(或对其进行猴子补丁处理)以跟踪打开的连接,否则无法检测到JS中的打开的连接。
XmlHttpRequest
这是孩子资本的猴子补丁,不确定是否完美,但这是一个好的开始
(function() { var oldOpen = XMLHttpRequest.prototype.open; window.openHTTPs = 0; XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { window.openHTTPs++; this.addEventListener("readystatechange", function() { if(this.readyState == 4) { window.openHTTPs--; } }, false); oldOpen.call(this, method, url, async, user, pass); } })();