如何收集 XMLHttpRequest 的实例?

How to collect instances of XMLHttpRequest?

我想收集 XMLHttpRequest 的所有实例

这是我的代码:

var array = [];
var orig_XMLHttpRequest = XMLHttpRequest;
XMLHttpRequest = function() {
    array.push(this);
    return new orig_XMLHttpRequest();
}

var ajax_request = new XMLHttpRequest();

但是因为 "return new orig_XMLHttpRequest();"

所以array[0]不是我真正想要的(ajax_request),我认为array[0]是一个空对象?

因为我会覆盖 XMLHttpRequest 并且它必须使用 'new' 关键字然后 return,所以我无法获得正确的 "this".....

有没有办法获取 XMLHttpRequest 的所有实例?

谢谢

您需要将创建的实例推送到您的数组:

var array = [];
var orig_XMLHttpRequest = XMLHttpRequest;
XMLHttpRequest = function() {
    var xhr = new orig_XMLHttpRequest();
    array.push(xhr);
    return xhr;
}

var ajax_request = new XMLHttpRequest();