本人不懂程序,要实现个测试多台服务器下载速度,网上看了下,这种:
<html>
<body>
<div id="showtxt"><div>
<SCRIPT language=JavaScript>
        var st = new Date();
      </SCRIPT>      <IMG height=300 alt=测试图片 src="http://www.dm123.cn/bbs/attachment/Fid_139/139_89262_ca0aff093246cc0.jpg" width=400 onload="showspeed();">
     
      <SCRIPT language=JavaScript>
      function showspeed()
      {
        var fs = 1.46*1024;  //img.jpg文件大小(K)
        var l = 2;    //小数点的位数
        var et = new Date();
        alltime = fs*1000/(et - st)
        Lnum = Math.pow(10,l)
        calcspeed = Math.round(alltime*Lnum)/Lnum
        showtxt.innerHTML = ("您的下载速度为:"+calcspeed+" (K/秒)")
      }
      </SCRIPT>
      
</body>
      < html>我想把<IMG height=300 alt=测试图片 src="http://www.dm123.cn/bbs/attachment/Fid_139/139_89262_ca0aff093246cc0.jpg" width=400 onload="showspeed();">   src为一个固定的rar文件,但是前面的标签定义不知道怎么设置? 还有一个就是含有多个类似的下载url,这里怎么去定义数组? 谢谢~ 

解决方案 »

  1.   

    你得用一个实际的图片文件,不能用类型不匹配的RAR。你要用RAR的话,就直接
    <a href="a处的\a.rar">从A下载</a>
    <a href="b处的\b.rar">从B下载</a>
    <a href="c处的\c.rar">从C下载</a>
    让用户自己点击下载,自然就能看到系统所反映的下载速度了。还用这么麻烦干嘛。
      

  2.   

    一般是利用其它的加载方法,比如一个本身内容很多的页面(可以写上一百万个的全角空格)或它调用的某个内容很多的文件,然后在其开始头用JS记录当时系统时间,再在整个的onload事件里取当前系统时间和先前的时间减一下得出加载时间即可。但你要用RAR文件的话,那就那样提供几个链接让用户自己下载对比就知道了,用户看到速度后还可以中途可以取消下载。
      

  3.   

    谢谢您的回复,我需要实现的是每一个链接对应一个下载速度的结果,我并不是每次是手动去控制,我需要导出的结果是自动的,每一次运行后,都产生结果的。用rar或其他zip的话 后面的onload怎么去控制?谢谢~ 我不是很熟悉js
      

  4.   

    问题是HTML本身没有load rar/zip的机制。
    如我上面说的,你要这样弄成一个个链接而且还是处理RAR的话,那就是
    AJAX、隐藏框架等都不可能对RAR/ZIP处理。
      

  5.   

    不过还是谢谢,有时间还得研究研究js,准备用shell去实现了~