Я пишу фрагмент кода, который, когда он выходит в автономный режим, будет отображать метку, для этого я использую navigator.onLine, я разработал это на Mac, и все работает, как ожидалось, но когда я попробовал это на машинах Windows 10 navigator.onLine всегда возвращает значение true.
Изначально у меня была установка, где у меня было два прослушивателя событий для «онлайн» и «офлайн» с обнаружением метки внутри функции. Этот подход работал на Mac. В противном случае я установил интервал для проверки каждую секунду, если сайт был в сети, этот подход также не удалось на ПК.
Это мой код, который корректно работает на Mac, когда интернет отключен
window.addEventListener('load', function () {
var status = document.getElementById("status");
function updateOnlineStatus(event) {
var condition = navigator.onLine ? "online" : "offline";
status.className = condition;
status.innerHTML = "The website is " + condition;
if (condition == "online")
{
localStorage.clear();
}
}
window.addEventListener('online', updateOnlineStatus);
window.addEventListener('offline', updateOnlineStatus);
});
Этот подход ничего не делал, когда в Windows был отключен интернет, даже когда был включен режим полета.
Ожидаемый вывод должен быть с такой меткой: 'status' должен изменить содержимое.