Я пытаюсь точно обнаружить, когда браузер идет офлайн, с помощью HTML5 и офлайновые события онлайн.
Вот мой код:
<script>
// FIREFOX
$(window).bind("online", applicationBackOnline);
$(window).bind("offline", applicationOffline);
//IE
window.onload = function() {
document.body.ononline = IeConnectionEvent;
document.body.onoffline = IeConnectionEvent;
}
</script>
Это хорошо работает, когда я просто поразил "Работу офлайн" или над Firefox или над IE, но это является отчасти случайным образом рабочим, когда я на самом деле отключаю провод.
Что лучший способ состоит в том, чтобы обнаружить это изменение? Я хотел бы постараться не повторять вызовы ajax с тайм-аутами.
В HTML5 можно использовать свойство navigator.onLine
. Посмотрите здесь:
http://www.w3.org/TR/offline-webapps/#related
Вероятно, ваше текущее поведение является случайным, поскольку javascript только готовит переменную «браузер», а затем знает, если вы офлайн и онлайн, но на самом деле он не проверяет сетевое соединение.
Сообщите нам, если это то, что вы ищете.
С уважением,