I'm trying to avoid using innerHTML
because it causes my browser to crash, probably due to the 250 milliseconds refresh rate.
Anyway, I would rather have some content in an hidden <div>
and make the <div>
visible only if a certain condition is met. What's the best approach to go around this?
Basically, what I'm doing now is..
setInterval(function () {
if (serverReachable()) {
.... // lines of code
.... // lines of code
var changeIt = document.getElementById('change')
changeIt.innerHTML = '';
timeout = setInterval(function(){window.location.href = "Tracker.html";},5000);
}
} else {
clearTimeout(timeout);
timeout = null;
var changeIt = document.getElementById('change')
changeIt.innerHTML = 'offline';
}
}, 250);
This will crash my browser, because I'm not using innerHTML
to print "offline" but a whole <div>
. I want to have this <div>
hidden, and instead of using innetHTML
, to simply unhide if a condition is met (in this case, no internet connection).
setInterval()
to a recursively calledsetTimeout()
- this shouldn't be crashing your browser. Certainly the innersetInterval
should be asetTimeout
- one time event. – Lipolysis