navigator.onLine имеет значение false, когда интернет отключен на Macbook, но не на любом компьютере с Windows. - PullRequest
0 голосов
/ 05 июля 2019

Я пишу фрагмент кода, который, когда он выходит в автономный режим, будет отображать метку, для этого я использую 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' должен изменить содержимое.

...