【发布时间】:2011-01-03 09:34:55
【问题描述】:
在下面的代码中,我试图计算图像的下载速度,但速度却是无穷大。我究竟做错了什么?
var imageAddr = "/images/image.jpg" + "?n=" + Math.random();
var startTime, endTime;
var downloadSize = 200000;
var download = new Image();
download.onload = function () {
endTime = (new Date()).getTime();
showResults();
}
startTime = (new Date()).getTime();
download.src = imageAddr;
function showResults() {
var duration = Math.round((endTime - startTime) / 1000);
var bitsLoaded = downloadSize * 8;
var speedBps = Math.round(bitsLoaded / duration);
var speedKbps = (speedBps / 1024).toFixed(2);
var speedMbps = (speedKbps / 1024).toFixed(2);
alert("Your connection speed is: \n" +
speedBps + " bps\n" +
speedKbps + " kbps\n" +
speedMbps + " Mbps\n" );
}
【问题讨论】:
-
这是纯JavaScript,去掉了不相关的标签。
-
也可以使用测速api:speedof.me/api.html
-
对于那些成功使用过这段 Javascript 代码的人,你最初是否遇到过没有调用“download.onload”的情况?这正是我正在经历的,我仍在试图找出原因。
标签: javascript