在html页面运行时用javascript解析挂起的外部资源? 问题:
如何计算页面在javascript中生成的挂起资源总数? 下面是一个包含一些图像和http请求的页面的快速快照:在html页面运行时用javascript解析挂起的外部资源? 问题:,javascript,image,http,request,xmlhttprequest,Javascript,Image,Http,Request,Xmlhttprequest,如何计算页面在javascript中生成的挂起资源总数? 下面是一个包含一些图像和http请求的页面的快速快照: <div id="results"></div> <img src="http://placekitten.com/g/200/100" alt=""/> //resource 1 <img src="http://placekitten.com/g/240/500" alt=""/> //resource 2 <img s
<div id="results"></div>
<img src="http://placekitten.com/g/200/100" alt=""/> //resource 1
<img src="http://placekitten.com/g/240/500" alt=""/> //resource 2
<img src="http://placekitten.com/g/210/300" alt=""/> //resource 3
<img src="http://placekitten.com/g/500/300" alt=""/> //resource 4
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script> //resource 5
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"></script> //resource 6
<script>
var results = document.getElementById('results');
var r = new XMLHttpRequest();
r.open("GET", "http://www.filltext.com?rows=10&f={firstName}", true);
r.onreadystatechange = function () {
if (r.readyState != 4 || r.status != 200) return;
var data = JSON.parse(r.responseText);
for (i = 0; i < data.length; i++) {
results.innerHTML += '<li>' + data[i].f + '</li>'
}
};
r.send(); //resource 7
var hey = window.performance.getEntriesByType("resource");
console.log(hey); //returns 0 :( which I hope would be 7 before dom renders.
</script>
//资源1
//资源2
//资源3
//资源4
//资源5
//资源6
var results=document.getElementById('results');
var r=新的XMLHttpRequest();
r、 打开(“获取”http://www.filltext.com?rows=10&f={firstName}”,正确);
r、 onreadystatechange=函数(){
如果(r.readyState!=4 | | r.status!=200)返回;
var data=JSON.parse(r.responseText);
对于(i=0;i'+数据[i].f+''
}
};
r、 send()//资源7
var hey=window.performance.getEntriesByType(“资源”);
console.log(嘿)//返回0:(我希望在dom呈现之前为7)。
+1表示@Jaromanda
试试这个:
setTimeout(function(){
var hey = window.performance.getEntriesByType("resource");
console.log(hey);
}, 0);
您所指的资源是CDNJ还是您正在使用的r.open?XMLHttpRequest
是异步的,所以最后两行代码在通过xhr加载任何内容之前运行。任何发出http请求的内容。脚本、图像、ajax等。我了解到getEntriesByType应该可以工作,但没有:(此外,我还对问题进行了注释以提供帮助。