title: Calculate speed using javascript
body: <p>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?  </p>
  
  <pre><code>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" );
  }
  </code></pre>