我正在研究檢查互聯網連接的功能(正常工作)以及每20秒刷新一次頁面的功能。我一直在處理的另一個功能是檢測互聯網狀態何時發生變化並停止刷新功能。我試圖讓它工作,所以當互聯網重新聯機時,刷新功能再次啓動。我已經嘗試了多個修復程序,但沒有任何工作。Javascript - 從函數中使用clearInterval後重新激活setInterval
下面是一些代碼:
function checkNetConnection()
{
var xhr = new XMLHttpRequest();
var file = "http://i.imgur.com/FIKb6D8.png";
var r = Math.round(Math.random() * 10000);
xhr.open('HEAD', file + "?rand=" + r, false);
try {
xhr.send();
if (xhr.status >= 200 && xhr.status < 304) {
return true;
} else {
return false;
}
} catch (e) {
return false;
}
}
function modalCheck()
{
var status = checkNetConnection();
if(status == false) {
document.getElementById('mymodal').style.display = "block";
} else {
document.getElementById('mymodal').style.display = "none";
}
}
var int1 = setInterval(modalCheck, 7000);
function refreshPage()
{
var state = checkNetConnection();
if(state == false)
{
clearInterval(int2);
} else {
location.reload(true);
alert("PAGE RELOADED!"); /* Testing purposes! */
}
}
var int2 = setInterval(refresh, 12000);
一切工作正常,直到互聯網連接恢復聯機,然後刷新功能不會再次啓動。這正是我想要解決的問題。
謝謝。
可能重複[如何返回來自異步調用的響應?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-打電話) –