如果想通过程序探测一个网站链接是否存在,可以通过服务器端高级语言编程实现,其实客户端的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时间,根据返回时间来确定是可以访问的链接