本文实例讲述了JS实现探测网站链接的方法。分享给大家供大家参考,具体如下:
如果想通过程序探测一个网站链接是否存在,可以通过服务器端高级语言编程实现,其实客户端的JavaScript也是可以探测的,下面通过一个技巧来探测网站链接。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js探测网站链接</title> </head> <body> <div id="url1"></div> <br/> <div id="url2"></div> <script language="JavaScript"> function butt(){ tim=1; setInterval("tim++",100); autourl1="http://www.163.com" autourl2="http://www.jb51.net" var url1=document.getElementById("url1"); var url2=document.getElementById("url2"); url1.innerHTML=" 测试连接:http://www.163.com,测试中..... "; url2.innerHTML=" 测试连接:http://www.jb51.net,测试中..... "; } function auto(url){ if(tim>20) { document.all(url).innerHTML=" 链接超时 " }else{ document.all(url).innerHTML=" 链接耗时:"+tim/10+"秒 " } //b++ } function run(){ document.write("<img src="+autourl1+"/"+Math.random()+" width=0 height=0 onerror=auto('url1')>") document.write("<img src="+autourl2+"/"+Math.random()+" width=0 height=0 onerror=auto('url2')>") } butt() run() </script> </body> </html>
上面代码原理是加载一个长宽为0的图片,当然这个图片是不存在的,所以会返回错误响应触发onerror时间,根据返回时间来确定是可以访问的链接