Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在html页面运行时用javascript解析挂起的外部资源? 问题:_Javascript_Image_Http_Request_Xmlhttprequest - Fatal编程技术网

在html页面运行时用javascript解析挂起的外部资源? 问题:

在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

如何计算页面在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 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'
}
};
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应该可以工作,但没有:(此外,我还对问题进行了注释以提供帮助。