自动检测各镜像站点速度并连接的代码

      在实现了blog镜像后,还有个问题就是如何让机器自动检测最好的镜像并连接,有点像sourceforge.net自动选择下载站点。即原理是在各个站点上存放一个图片文件,网页载入时触发图像下载事件,并设置好相应onload事件为相应站点地址跳转。当然图像文件越大,检测到的速度越准确,但是等待时间也越长。自己看吧。下面代码,把它加入到head段,再设置<body onload="CheckMirror();">,其中的strMirrorURL要更改为相应的地址。

应用实例在:http://www.mydigitallife.org.uk

    var objImage = new Array(new Image(),new Image());
    var strMirrorURL = new Array("http://uk.mydigitallife.org.uk","http://us.mydigitallife.org.uk");

    function CheckMirror()
    {
      for (i=0;i<strMirrorURL.length;i++)
      {
        eval("objImage["+i+"].onload = function onload(){ window.location='"+strMirrorURL[i]+"' };");
        eval("setTimeout('objImage["+i+"].src =\""+ strMirrorURL[i]+"/SpeedTest.gif\"',1) ;");
      }
    }


About this entry