我的网站正在运行一些第 3 方应用程序,该应用程序正在执行一些 http 请求以注入数据。我想知道是否有可能捕获从我的页面初始化的任何 http 请求,如果可能的话如何捕获它?
我想用 javascript 来捕捉它,因为我需要在我的页面上显示一些关于 http 请求的提示。
我的网站正在运行一些第 3 方应用程序,该应用程序正在执行一些 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