js判断远程链接是否有效

最近在研究javascript,找到了这个老问题。我查了以前的贴子都说是用XMLHTTP请求一次来确认链接的文件是否存在。

  但是XMLHTTP的测试方式存在有巨大的代价,因为XMLHTTP的请求必须将被请求的文件下载完毕后才能返回结果。如果要测试的连接是一个比较大的文件(如:1M或100M以上的东西)的话,就会需要大量的内存和时间来等待,这个对于只是想知道它存不存在的目的来说,代价太大了。

  我曾想过用XMLHTTP来请求,然后链接成功后主动断开请求,不过似乎XMLHTTP没有这样的方式..


        其实,此问题还可以引申为 判断网络是否连接;网络爬虫程序等等应用。下面公布这个问题的解法:

        首先,XMLHTTP的Head方法是不用全部内容返回的,它只返回Header的那部分简短内容,基于此,可使用下面的代码实现。

    Untitled Page

    

    
    

上诉方法虽然能解决问题,但测试时间比较长,且具体的xmlhttp对象的创建还得根据不同浏览器来进行。

基于此,因为后来使用了jQuery,下面根据上诉原理使用jQuery来进行实现:

 

    Untitled Page

    

    

 

    

 

    

    

你可能感兴趣的:(js判断远程链接是否有效)