最新消息:点击查看大S的省钱秘笈

吼吼,给两个函数加注解

网络相关 Slyar 87浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

恩,想了想,还是把这两个函数加上注解好了,免得我又忘了……

事情的起因是这个样子滴,那天Felix问我首页的那个自动选择最快镜像的代码,我就给他了,然后他说找不到速度判断代码,再然后我就看,最然后我发现自己看不懂……

恩,比较丢人,打坐5分钟先……嘿嘿,打坐中途我豁然开朗……于是粪笔疾书……

(“画”外音:哪这么多废话,吃错药了是不是……)

咳咳,肃静,肃静。看代码……恩,其实就是两个主要函数,一个判断,一个获取……

function auto(url){
if(i)
{
i=0;
top.location=url
}
}

这个比较简单,就是获取那个最快的镜像地址。

function run()
{
for(var i=1;i<autourl.length;i++) {
document.write("<img src=http://"+autourl[i]+" width=1 height=1 onerror=auto('http://"+autourl[i]+"')>")
}

这个就比较重要了,也就是解释Felix提出的为什么没有速度判断函数的关键……

这个代码其实就是:<img scr="镜像url(把它当成图像文件了,但实际上图像不存在)" width =1 height=1 onError="auto('一个url')">

当<img>开始工作的时候,浏览器会向该镜像url指向的服务器发出下载这个不存在的图像文件的命令,但是图片实际上是不存在的,所以服务器会反馈给浏览器“文件不存在 ”的信息,于是在浏览器中触发<img>的onerror事件。然后谁最快,谁就是啦。嘿嘿……

转载请注明:Slyar Home » 吼吼,给两个函数加注解

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (3)

  1. 您好,这个代码检测的结果准确吗?有的是在各个镜像放个文件,然后去读取这个文件测速。
    tiny8年前 (2009-03-02)回复
  2. 额。。 php 想学了。。 呵呵 画外音 看来没少看小说
    perfect9年前 (2008-06-27)回复
    • 真的没少看滴说……
      Slyar9年前 (2008-07-01)回复