2014-12-13 202 views
1

嘿家伙是新来的JavaScript实际上..我试图找到一个文件的下载时间。所以我已经确定了文件的大小,并与当前时间划分..但它不是给我正确的结果。用javascript计算下载时间

我曾尝试

function get_filesize(url, callback) { 
var xhr = new XMLHttpRequest(); 
xhr.open("HEAD", url, true); // Notice "HEAD" instead of "GET", 
          // to get only the header 
xhr.onreadystatechange = function() { 
    if (this.readyState == this.DONE) { 
     callback(parseInt(xhr.getResponseHeader("Content-Length"))); 
    } 
}; 
xhr.send(); 
} 




get_filesize("http://upload.wikimedia.org/wikipedia/commons/9/96/Google_web_search.png", function(size) { 

var estimatedtime = (new Date().getTime())/size; 
console.log(estimatedtime); 

}); 

当我做这样做我得到输出32245538.389347337代码。

我期望的是在控制台中获得hh:mm:ss的时间。

我怎样才能达致这?..任何帮助将是巨大的感谢

+0

究竟是什么,你想在这里算?下载速度?或者干脆下载时间。 – itdoesntwork 2014-12-13 06:11:51

回答

0

后您计算值,将其转换为日期像下面(当然,改变的硬编码值estimatedtime):

var time = new Date(32245538.389347337); 
 
alert(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());

+0

当我用aq音乐文件替换图像文件时,我得到了像nan nan nan一样的警报 – lovejs 2014-12-13 08:25:35

+0

我还收到了错误信息,如请求的资源上没有“内容长度”标题。因此不允许原产地'null'访问。 babe.html:21 NaN:NaN:NaN – lovejs 2014-12-13 08:42:49

+0

这与代码无关。你会得到nan:nan:nan,因为由于缺少内容长度而无法初始化日期。服务器的响应头是什么?如果它是你自己的服务器,你使用的是什么服务器。你需要检查为什么服务器没有返回内容长度? – 2014-12-13 12:58:40