Javascript 如果多个源的帧加载时间为1,则值始终为坏

Javascript 如果多个源的帧加载时间为1,则值始终为坏,javascript,Javascript,我得到了一个脚本,它将txt文件中的URL放入iframe,然后检查每个源的加载时间。如果我的txt文件中有4个URL,我会得到3个对我来说足够好的结果,但1个结果总是太短(表示在0016秒左右加载了帧,而其他加载需要1-4秒)。如果我从列表中删除其他URL,只保留给出错误值的URL,然后运行我的脚本,我会得到一个正常值(需要几秒钟才能加载) 以下是我所说的剧本: <script type="text/javascript"> $.get("imones.txt", funct

我得到了一个脚本,它将txt文件中的URL放入iframe,然后检查每个源的加载时间。如果我的txt文件中有4个URL,我会得到3个对我来说足够好的结果,但1个结果总是太短(表示在0016秒左右加载了帧,而其他加载需要1-4秒)。如果我从列表中删除其他URL,只保留给出错误值的URL,然后运行我的脚本,我会得到一个正常值(需要几秒钟才能加载)

以下是我所说的剧本:

<script type="text/javascript">
   $.get("imones.txt", function (data) { 
       var array = data.split(/\r\n|\r|\n/); 
       var beforeloadingtime = (new Date()).getTime();
       var beforeTime = []; 
       beforeTime[0] = beforeloadingtime; 
       $.each(array, function (index, value) { 
           var jsonnuorodos = "http://anyorigin.com/get?url=" + array[index] + "&callback=?";
           $.getJSON(jsonnuorodos, function (data) { 
               var iframe = $("#frame_id")[0];
               var doc = iframe.document;
               if (iframe.contentDocument) { 
                   doc = iframe.contentDocument;
               } else if (iframe.contentWindow) {
                   doc = iframe.contentWindow.document;
               }
               doc.open();
               doc.writeln(data.contents); 
               doc.close(); 
               var loadingtime = (new Date()).getTime();
               beforeTime.push(loadingtime); 
               for (i = 0; i < array.length; i++) { 
                   var result; 
                   result = (beforeTime[i + 1] - beforeTime[i]) / 1000; 
                   $("#loadingtimediv" + i).html(result); 
               }
           });
       });
   });
</script>

$.get(“imones.txt”,函数(数据){
var array=data.split(/\r\n |\r |\n/);
var beforeloadingtime=(新日期()).getTime();
var beforeTime=[];
beforeTime[0]=加载时间之前;
$.each(数组、函数(索引、值){
var jsonnuorodos=”http://anyorigin.com/get?url=“+数组[索引]+”&回调=?”;
$.getJSON(jsonnuorodos,函数(数据){
var iframe=$(“#frame_id”)[0];
var doc=iframe.document;
if(iframe.contentDocument){
doc=iframe.contentDocument;
}else if(iframe.contentWindow){
doc=iframe.contentWindow.document;
}
doc.open();
文件写入(数据内容);
doc.close();
变量loadingtime=(新日期()).getTime();
beforeTime.push(加载时间);
对于(i=0;i
当我有多个URL时,为什么在运行脚本时会得到这种不精确的结果


编辑:我认为我的脚本在添加下一个url之前不会真正等待1个url完全加载,这可能是我得到错误结果的原因吗?

结果可能是准确的。浏览器通常同时下载多个资源。没有理由假设文件将按顺序加载,甚至按照您请求的顺序加载。(想象一下显示网页需要下载的所有不同文件:CSS、JS、图像、帧…)

如果要确认,您的浏览器可能已进行网络调试。例如,在Chrome开发者工具中有一个网络选项卡,它会告诉您服务器的请求和响应时间

或者尝试记录加载前时间和每次下载完成时间之间的差异,而不是一次下载和上一次下载之间的差异