本文实例讲述了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时间,根据返回时间来确定是可以访问的链接