Ich arbeite an einer Funktion, die Internetverbindung überprüft (funktioniert gut) und eine Funktion, die die Seite alle 20 Sekunden aktualisiert. Eine andere Funktion, an der ich gearbeitet habe, erkennt, wenn sich der Internet-Status ändert und stoppt die Refresh-Funktion. Ich versuche es so zu machen, wenn das Internet wieder online ist, startet die Refresh-Funktion erneut. Ich habe mehrere Fixes ausprobiert, aber nichts funktioniert.Javascript - Reaktivieren von setInterval nach der Verwendung von ClearInterval von einer Funktion
Hier einige Code:
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);
Alles funktioniert gut, bis die Internetverbindung wieder online geschaltet wird, dann ist die Refresh-Funktion nicht wieder starten. Das versuche ich zu beheben.
Danke.
Mögliches Duplikat von [Wie gebe ich die Antwort von einem asynchronen Anruf zurück?] (Http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous- Anruf) –