用JavaScript捕获正在进行HTTP请求的任何事件

Catch any event which is doing HTTP request with JavaScript

本文关键字:请求 任何 事件 HTTP 正在进行 JavaScript      更新时间:2023-09-26

我有我的网站运行一些第三方应用程序正在做一些HTTP请求注入数据。我想知道是否有可能捕获从我的页面初始化的任何HTTP请求,以及如何捕获它,如果它是可能的?

我想用JavaScript捕获它,因为我需要在我的页面上显示一些关于HTTP请求的提示

我想用javascript捕捉,因为我需要在我的页面上显示一些关于http请求的提示。

您可以将XMLHttpRequest封装在一个函数中,该函数在返回真正的XMLHttpRequest之前记录调用者

(function () { // scope saves you from infinite loops / loss of __xhr
    var __xhr = window.XMLHttpRequest; // back up
    function XMLHttpRequest() { // wrap
        console.log(
            XMLHttpRequest.caller || arguments.caller || 'caller not supported'
        );
        return new __xhr;
    }
    window.XMLHttpRequest = XMLHttpRequest; // shadow
}());
function foo() { // example
    var bar = new XMLHttpRequest();
}
foo(); // invoke
/* console logs
function foo() { // example
    var bar = new XMLHttpRequest();
}
*/

可以通过

检索构造函数。
var x = new XMLHttpRequest(); // function doing this gets logged
window.XMLHttpRequest = x.constructor; // normality restored

相关文章: