<html>
<head>
  <title>
     网速测试
  </title>
  <script type="text/JavaScript">  
      function getbandwidth()  
      { 
          var img1 = document.getElementById("Image1");
          img1.onload = load1;
          starttime = new Date();
          img1.src = imgpath;
      }
      function load1()
      {    
          var endtime = new Date();  
   if((endtime - starttime) == 0){
               return;
   }
          var speed = Math.round(filesize*1000/(endtime-starttime));//计算下载速度(单位:b/s)
          alert(endtime.getTime()-starttime.getTime());//提示下载时间 
          Span1.innerHTML = speed + " b/s";//显示下载速度
      }
   </script>
</head>
<body>
    <span id="Span1">测速进行中......</span>
    <br>
    <TABLE height=600 cellSpacing=0 cellPadding=0 width=750 align=center border=0>
    <TBODY>
        <TR><TD><IMG id="Image1" height=600 width=750></TD></TR>
    </TBODY></TABLE>
    <script type="text/JavaScript">
        var starttime;//开始时间
        var filesize = 5996016; //图片大小,更换图片时应同步调整此值(单位:字节)
        var imgpath = "1.JPG";//待加载图片
        getbandwidth();
    </script>
</body>
</html>
   上述代码实现了一个简单的测速功能:用图片大小除以图片下载时间计算出图片下载速度。   我在本机配置IIS服务器进行测试,在测试的时候发现一个问题,两个大小差不多的jpg图片(一个5.1M,一个5.7M),下载速度和下载时间均相差5倍。(如下所示,第一个图片为5.7M,第二个图片为5.1M,但是奇怪的是,第二个图片的下载时间却是第一个图片的4-5倍,怎么小的图片下载时间反而长呢,而且差了好几倍,PS:我实验了好多次,都是同样的结果)请各位高手给我解释一下,谢谢!

解决方案 »

  1.   

    用firebug看一下实际的下载时间呢?看下哪部分花的时间最多
      

  2.   

    to hookee:    麻烦指点一下如何使用firebug查看下载时间啊?(我没用过)
        谢谢了!
      

  3.   

    1.火狐打开http://getfirebug.com/安装firebug 版本具体看你FF的版本
    2.FF选项里自己找firebug 网络选项卡里有页面加载时间
      

  4.   

    to ifandui:    我已经安装了firebug,但是没找到“网络选项卡”,也没有找到“页面加载时间”,能否说得详细一点,谢谢。
      

  5.   

    按F12  工具栏-网络,点旁边的小三角 启用。
    点工具栏下面一排字中的"图片"2个字,浏览器访问图片url就可以看到时间线了