Я стараюсь избегать использования innerHTML
, потому что это приводит к сбою моего браузера, вероятно, из-за частоты обновления 250 миллисекунд.
В любом случае, я бы предпочел иметь некоторый контент в скрытом <div>
и сделать <div>
видимым только при соблюдении определенного условия. Каков наилучший подход, чтобы обойти это?
В общем, чем я сейчас и занимаюсь..
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);
Это приведет к сбою моего браузера, потому что я не использую innerHTML
для печати «в автономном режиме», а целиком <div>
. Я хочу, чтобы это <div>
было скрыто, и вместо использования innetHTML
просто отображалось, если выполняется условие (в данном случае нет подключения к Интернету).
setInterval()
на рекурсивно называемыйsetTimeout()
- это не должно привести к сбою вашего браузера. Конечно, внутреннееsetInterval
должно бытьsetTimeout
- разовым событием. - person MrWhite   schedule 30.12.2012