本文實例講述了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時間,根據返回時間來確定是可以訪問的鏈接