In the code below, I am trying to calculate the download speed of an image, but the speed comes out as infinity. What am I doing wrong?
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" );
}
length; var time = (endTime - startTime) / 1000; var sizeInBits = downloadSize * 8; var speed = ((sizeInBits / time) / (1024 * 1024)). toFixed(2); console. log(downloadSize, time, speed); } } request. send();
JQSpeedTest is a jQuery based plugin to check network speed in between the client and your webserver/application. JQSpeedTest does NOT REQUIRE SERVER-SIDE SCRIPTING. The implementation is in pure JavaScript and uses NO FLASH.
int speed = distance/time; because you are dividing by zero. You are dividing by zero, because on the line before you set time to zero.
duration
is probably coming out 0, and a positive number divided by zero yields the special value of positive infinity in JavaScript.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With