W poniższym kodzie próbuję obliczyć prędkość pobierania obrazu, ale prędkość wychodzi jako nieskończoność. Co ja robię źle?Oblicz prędkość za pomocą javascript
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");
}
To jest czysty JavaScript, usunięto nieistotne znaczniki. –
Możesz także skorzystać z testu prędkości api: http://speedof.me/api.html – advncd
Dla tych, którzy z powodzeniem używali tego kodu Javascript, czy początkowo nie napotkasz żadnych połączeń na "download.onload"? Właśnie tego doświadczam i wciąż próbuję dowiedzieć się, dlaczego. –