Определение статуса подключения к Интернету в JavaScript: методы и примеры

Чтобы определить, отключено ли подключение к Интернету в JavaScript, вы можете использовать различные методы. Вот некоторые из них:

  1. Использование свойства navigator.onLine. Самый простой способ — проверить значение свойства navigator.onLine. Он возвращает false, если браузер находится в автономном режиме.
if (navigator.onLine) {
  // Connection is online
} else {
  // Connection is offline
}
  1. Использование событий онлайн и офлайн: вы можете прослушивать события onlineи offlineв объекте window, чтобы обнаружить изменения в сети. статус.
window.addEventListener('online', function() {
  // Connection is online
});
window.addEventListener('offline', function() {
  // Connection is offline
});
  1. Использование запроса Ajax. Вы можете отправить простой запрос Ajax к известной конечной точке и проверить, успешен он или нет. Если запрос не выполнен, это означает, что соединение отключено.
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com', true);
xhr.onload = function() {
  // Request succeeded, connection is online
};
xhr.onerror = function() {
  // Request failed, connection is offline
};
xhr.send();
  1. Использование API сетевой информации. Современные браузеры поддерживают API сетевой информации, который предоставляет более подробную информацию о сетевом соединении, такую ​​как тип соединения (например, Wi-Fi, сотовая связь) и эффективный тип соединения (например, 4G, 3G). ). Вы можете использовать этот API, чтобы определить, находится ли соединение в автономном режиме.
if (navigator.connection && navigator.connection.type === 'none') {
  // Connection is offline
} else {
  // Connection is online
}