#javascript #html
#javascript #HTML
Вопрос:
navigator.onLine
всегда возвращается, true
и online
события offline
и не запускаются для этого простого фрагмента кода ни в Firefox 66.0.1, ни в Chrome 73 в 64-разрядной версии Windows 7.
let statusElement = document.getElementById("status");
statusElement.innerText = navigator.onLine ? "online." : "offline.";
function updateStatus(event) {
statusElement.innerText = `${event.type}.`;
}
window.addEventListener('offline', updateStatus);
window.addEventListener('online', updateStatus);
Там, где HTML прост, это:
<h1>You are <span id = "status"></span></h1>
Комментарии:
1. онЛайн проверяет, подключен ли браузер к Интернету. вы пытались отключиться от Интернета? и все еще подключаетесь к Сети?
2. Что вы делаете, чтобы попытаться активировать статус вашего браузера онлайн / оффлайн?
3. @Quentin: Я отключился от Wi-Fi. Я нормально отключился, но API не показал никаких изменений в ответе. Затем я отключил аппаратный переключатель на своем ноутбуке, который представляет соединения Wifi и Bluetooth, и отключился от просмотра подключений Wifi. Изменений нет. Затем я выключил свой Wifi-маршрутизатор без изменений. Никаких событий не возникло.
Ответ №1:
Я только что сменил свой компьютер, и тот же код отлично работает на другом компьютере.
Я полагал, что причина, по которой это не работало на старом компьютере, заключалась в том, что у меня был IP-адрес, который всегда был активен. Это был IP-адрес, который был выделен моей машине виртуальным ящиком Oracle. Я обнаружил это, запустив ipconfig
на своем компьютере, и увидел, что независимо от того, что я делал, у меня всегда был виртуальный ящик, использующий мою карту Ethernet.
И поскольку в документации к этой функции говорится, что она будет показывать статус онлайн, если компьютер подключен к сети, подразумевая любую сеть, то есть если у нее есть доступ к сети любого рода.
Поэтому предполагается, что этот метод не очень надежен, если вы действительно хотите знать, есть ли у пользователя активное подключение к Интернету, хотя он работает в большинстве случаев.
Случай решен.