Navigator: свойство onLine
Базовая линия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Возвращает состояние подключения браузера к сети. Свойство возвращает логическое значение, где true означает онлайн, а false — офлайн. Свойство отправляет обновления всякий раз, когда меняется возможность браузера подключаться к сети. Обновление происходит, когда пользователь переходит по ссылкам или когда скрипт запрашивает удалённую страницу. Например, свойство должно возвращать false , когда пользователи щелкают по ссылкам вскоре после потери интернет-соединения.
Браузеры реализуют это свойство по-разному.
В Chrome и Safari, если браузер не может подключиться к локальной сети (LAN) или маршрутизатору, он находится в офлайн режиме; все остальные условия возвращают true. Таким образом, хотя вы можете предположить, что браузер находится в режиме офлайн, когда он возвращает значение false, вы не можете предполагать, что истинное значение обязательно означает, что браузер имеет доступ к интернету. Вы можете получать ложные срабатывания, например, в тех случаях, когда компьютер работает с программным обеспечением виртуализации, которое имеет виртуальные адаптеры Ethernet, которые всегда «подключены». Поэтому, если вы действительно хотите определить онлайн-состояние браузера, вам следует разработать дополнительные средства проверки.
В Firefox переключение браузера в офлайн-режим отправляет значение false. До Firefox 41 все остальные условия возвращали значение true; тестирование фактического поведения в Nightly 68 на Windows показало, что он ищет только подключение к LAN, как Chrome и Safari, что приводит к ложным срабатываниям.
Вы можете отслеживать изменения состояния сети, прослушивая события online и offline.
Значение
Логическое.
Примеры
Базовое использование
Чтобы проверить, подключены ли вы к сети, обратитесь к window.navigator.onLine, как в следующем примере:
if (navigator.onLine) {
console.log("online");
} else {
console.log("offline");
}
Если браузер не поддерживает navigator.onLine , то в приведенном выше примере всегда будет возвращаться false/undefined.
Прослушивание изменений состояния сети
Чтобы отслеживать изменения в состоянии сети, используйте addEventListener, чтобы прослушивать события на window.online и window.offline, как в следующем примере:
window.addEventListener("offline", (e) => {
console.log("offline");
});
window.addEventListener("online", (e) => {
console.log("online");
});
Спецификации
| Спецификация |
|---|
| HTML # dom-navigator-online-dev |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
onLine |
2Более ранние версии Chrome неправильно возвращают true при первом открытии вкладки, но начинают сообщать правильный статус подключения после первого сетевого события. Windows: 11, macOS: 14, ChromeOS: 13, Linux: Всегда возвращаетtrue. Для справки см. bug 40530968. |
12 | 1.5С Firefox 4 браузер возвращаетtrue когда режим «Работать автономно» отключен и false когда он включен, независимо от фактического подключения. С Firefox 41, в OS X и Windows, возвращаемые значения соответствуют фактическому подключению к сети, если не выбран режим «Работать автономно» (в этом случае всегда возвращается false). |
3От Opera 11.1 до Opera 12.1 браузер возвращаетtrue , когда режим «Работать автономно» отключен и false когда он включен, независимо от фактического подключения. |
4 | 18 | 4 | 10.1От Opera 11.1 до Opera 12.1 браузер возвращаетtrue , когда режим «Работать автономно» отключен и false когда он включен, независимо от фактического подключения. |
3.2 | 1.0 | ≤37Может неправильно возвращать true, см. bug 41369933. |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLine