Spec-Zone.ru › Web APIs

API информации о сети

Примечание: Эта функция доступна в Web Workers.

API информации о сети предоставляет сведения о подключении системы с точки зрения общего типа подключения (например, 'wifi', 'cellular' и т. д.). Это можно использовать для выбора контента высокого разрешения или низкого разрешения в зависимости от подключения пользователя.

Интерфейс состоит из одного объекта NetworkInformation, экземпляр которого возвращается свойством Navigator.connection или свойством WorkerNavigator.connection.

Интерфейсы

NetworkInformation

Предоставляет информацию о подключении устройства к сети и обеспечивает возможность уведомления скриптов о том, что тип подключения изменился. Интерфейс NetworkInformation нельзя создать. Вместо этого к нему обращаются через интерфейс Navigator или интерфейс WorkerNavigator.

Расширения для других интерфейсов

Navigator.connection Только для чтения

Возвращает объект NetworkInformation содержащий информацию о сетевом подключении устройства.

WorkerNavigator.connection Только для чтения

Предоставляет объект NetworkInformation, содержащий информацию о сетевом подключении устройства.

Примеры

Обнаружение изменений подключения

В этом примере отслеживаются изменения подключения пользователя.

let type = navigator.connection.effectiveType;

function updateConnectionStatus() {
  console.log(
    `Connection type changed from ${type} to ${navigator.connection.effectiveType}`,
  );
  type = navigator.connection.effectiveType;
}

navigator.connection.addEventListener("change", updateConnectionStatus);

Предварительная загрузка больших ресурсов

Объект подключения полезен для определения того, следует ли загружать ресурсы, которые занимают большой объем пропускной способности или памяти. Этот пример вызывается сразу после загрузки страницы, чтобы проверить тип подключения, при котором предварительная загрузка видео может быть нежелательна. Если обнаружено подключение по сотовой связи, флаг preloadVideo устанавливается в значение false. Для простоты и ясности, в этом примере проверяется только один тип подключения. В реальном сценарии использования, вероятно, будет использоваться оператор switch или какой-либо другой метод для проверки всех возможных значений NetworkInformation.type. Независимо от значения type, вы можете оценить скорость подключения через свойство NetworkInformation.effectiveType.

let preloadVideo = true;
const connection = navigator.connection;
if (connection) {
  if (connection.effectiveType === "slow-2g") {
    preloadVideo = false;
  }
}

Спецификации

Спецификация
API информации о сети

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
Network_Information_API 61 79 31–32 48 Нет 38 14–99 37 Нет 3.0 50
Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
Network_Information_API 61 79 31–32 48 Нет 38 31–99 25 Нет 3.0 50
change_event 61 79 Нет 48 Нет 38
НетВ Firefox, свойство обработчика событий, соответствующее событию change, равно ontypechange.
45 Нет 3.0 50
downlink
61Значение никогда не превышает 10 Мбит/с, как мера защиты от отслеживания (нестандартная).
79Значение никогда не превышает 10 Мбит/с, как мера защиты от отслеживания (нестандартная).
Нет
48Значение никогда не превышает 10 Мбит/с, как мера защиты от отслеживания (нестандартная).
Нет
38Значение никогда не превышает 10 Мбит/с, как мера защиты от отслеживания (нестандартная).
Нет
25Значение никогда не превышает 10 Мбит/с, как мера защиты от отслеживания (нестандартная).
Нет
3.0Значение никогда не превышает 10 Мбит/с, как мера защиты от отслеживания (нестандартная).
50Значение никогда не превышает 10 Мбит/с, как мера защиты от отслеживания (нестандартная).
downlinkMax
61Поддерживается только в ChromeOS
Нет Нет Нет Нет 38 Нет 45 Нет 3.0 50
effectiveType 61 79 Нет 48 Нет 38 Нет 45 Нет 3.0 50
rtt
61Значение никогда не превышает 3000 мс, как мера защиты от отслеживания (нестандартная).
79Значение никогда не превышает 3000 мс, как мера защиты от отслеживания (нестандартная).
Нет
48Значение никогда не превышает 3000 мс, как мера защиты от отслеживания (нестандартная).
Нет
38Значение никогда не превышает 3000 мс, как мера защиты от отслеживания (нестандартная).
Нет
25Значение никогда не превышает 3000 мс, как мера защиты от отслеживания (нестандартная).
Нет
3.0Значение никогда не превышает 3000 мс, как мера защиты от отслеживания (нестандартная).
50Значение никогда не превышает 3000 мс, как мера защиты от отслеживания (нестандартная).
saveData 65 79 Нет 52 Нет 65 Нет 47 Нет 9.0 65
type
61Поддерживается только в ChromeOS
Нет 31–32 Нет Нет 38 31–99 45 Нет 3.0 50
typechange_event Нет Нет 31–32 Нет Нет
38Предлагается удаление в ошибке 40509974.
31–99
25Предлагается удаление в ошибке 40509974.
Нет
3.0Предлагается удаление в ошибке 40509974.
50
worker_support 61 79 31–32 48 Нет 38 53–99 45 Нет 3.0 50

api.NetworkInformation

Таблицы BCD загружаются только в браузере

api.Navigator.connection

Таблицы BCD загружаются только в браузере

См. также

  • События онлайн и офлайн

© 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/Network_Information_API

Spec-Zone.ru

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