Spec-Zone.ru › Web APIs

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API