Nay*_*ish 31 html javascript html5 google-chrome google-chrome-devtools
如何使用HTML完成的Javascript获取网络请求列表,如chrome devtools中所示.
例如:

这是google.com的devtools.我想,使用javascript在列表中获取所有这些请求.这可能吗?如果有,怎么样?
Kon*_*nel 10
您可以使用Resource Timing API获取有关您网站上加载的每个资源的所有相关信息(域查找,缓存命中,重定向等).
你可以在这里阅读它.还有一个使用此API生成页面加载瀑布的书签.
资源计时API可在Chrome,Chromium,Chrome Mobile和IE10中使用.Firefox团队似乎正在努力.
据我了解,您可以通过JavaScript查询请求列表。它是?“我不知道怎么。”
但是可以提供帮助的一种解决方案是...
您可以使用以下代码拦截所有请购单。如果您的JavaScript在加载页面时运行得很早,您将能够从列表中获取大部分请求。
看看这篇文章多么酷。
XMLHttpRequest.prototype.realSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(value) {
this.addEventListener("progress", function(){
console.log("Loading. Here you can intercept...");
}, false);
this.realSend(value);
};
Run Code Online (Sandbox Code Playgroud)
小智 6
我已经使用Resource Timing API编写了代码
function captureNetworkRequest(e) {
var capture_network_request = [];
var capture_resource = performance.getEntriesByType("resource");
for (var i = 0; i < capture_resource.length; i++) {
if (capture_resource[i].initiatorType == "xmlhttprequest" || capture_resource[i].initiatorType == "script" || capture_resource[i].initiatorType == "img") {
if (capture_resource[i].name.indexOf('www.demo.com OR YOUR URL') > -1) {
capture_network_request.push(capture_resource[i].name)
}
}
}
return capture_network_request;
}
Run Code Online (Sandbox Code Playgroud)