需求主要是限時內連不通服務器就要發現并做相應的處理,不能死等鏈接超時。用圖片實現:
<HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var timeout=200;
function checkConnection(url){
var i=new Image();
i.timer=setTimeout(function(i){
return function(){
i.onload=i.onerror=null;
document.getElementById("output").innerHTML+=i.src+"無法在"+timeout+"毫秒內響應<br>"
i.src="about:blank";
}
}(i),timeout);
i.onerror=i.onload=function(){
return function(){
clearTimeout(i.timer);
document.getElementById("output").innerHTML+=i.src+"可以在"+timeout+"毫秒內響應<br>"
}
}(i);
i.src=url;
}
checkConnection("http://www.google.cn")
checkConnection("http://www.google.com")
checkConnection("http://www.google.tw")
checkConnection("http://www.google.hk")
checkConnection("http://www.google.kr")
checkConnection("http://www.google.au")
//-->
</SCRIPT>
<div id="output"></div>
</BODY>
</HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var timeout=200;
function checkConnection(url){
var i=new Image();
i.timer=setTimeout(function(i){
return function(){
i.onload=i.onerror=null;
document.getElementById("output").innerHTML+=i.src+"無法在"+timeout+"毫秒內響應<br>"
i.src="about:blank";
}
}(i),timeout);
i.onerror=i.onload=function(){
return function(){
clearTimeout(i.timer);
document.getElementById("output").innerHTML+=i.src+"可以在"+timeout+"毫秒內響應<br>"
}
}(i);
i.src=url;
}
checkConnection("http://www.google.cn")
checkConnection("http://www.google.com")
checkConnection("http://www.google.tw")
checkConnection("http://www.google.hk")
checkConnection("http://www.google.kr")
checkConnection("http://www.google.au")
//-->
</SCRIPT>
<div id="output"></div>
</BODY>
</HTML>