API информации о сети
Примечание: Эта функция доступна в Web Workers.
API информации о сети предоставляет сведения о подключении системы с точки зрения общего типа подключения (например, 'wifi', 'cellular' и т. д.). Это можно использовать для выбора контента высокого разрешения или низкого разрешения в зависимости от подключения пользователя.
Интерфейс состоит из одного объекта NetworkInformation, экземпляр которого возвращается свойством Navigator.connection или свойством WorkerNavigator.connection.
Интерфейсы
NetworkInformation-
Предоставляет информацию о подключении устройства к сети и обеспечивает возможность уведомления скриптов о том, что тип подключения изменился. Интерфейс
NetworkInformationнельзя создать. Вместо этого к нему обращаются через интерфейсNavigatorили интерфейсWorkerNavigator.
Расширения для других интерфейсов
-
Возвращает объект
NetworkInformationсодержащий информацию о сетевом подключении устройства. -
Предоставляет объект
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