[注意這一點很重要。我做了我的研究的手之前,我看到了類似的問題被問過,但還沒有什麼是適合我的需要]的JavaScript/AJAX:如果XMLHttpRequest的()x秒後失敗,繼續
我正在使用以下JavaScript/Ajax代碼每120秒刷新我的iframe(tracker
)。如果由於某種原因刷新失敗(例如沒有互聯網連接),它將把頁面重定向到Tracker2.html
。
<script type=text/javascript>
setInterval(function(){
var rq = new XMLHttpRequest();
rq.open('GET', document.getElementById('tracker').src, true);
rq.onreadystatechange = function() {
if(rq.readyState === 4) {
if(rq.status === 200) {
} else {
window.location.href = "Tracker2.html";
}
}
};
rq.send(null);
document.getElementById("tracker").src+="";
},120000);
</script>
我的問題是,使用XMLHttpRequest
,大約需要45-60秒,直到它「證實」沒有互聯網連接(=無法刷新的iframe),然後纔將重定向到Tracker2.html
。
我想,理想情況下,只需等待5秒鐘,如果5秒鐘後,沒有來自跟蹤器的iframe的響應,然後重定向。
基本上,我不需要等待45-60秒才能意識到沒有互聯網連接 - 這是一個內部網絡,只需要半秒鐘的時間來確認是否存在或不存在網絡連接。
任何幫助將不勝感激。
可以設置[超時屬性(http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute),然後設置爲[超時事件]的處理程序(HTTP ://www.w3.org/TR/XMLHttpRequest/#event-xhr-timeout)。 – Barmar