Network Information API

Experimental

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Network Information API надає інформацію про мережеве підключення в загальних термінах ('wifi', 'cellular' тощо). Ця інформація може бути використана для вибору якості і розміру вмісту на основі підключення користувача. Весь API складається з інтерфейсу NetworkInformation та однієї властивості до інтерфейсу Navigator: Navigator.connection .

Note:

This feature is available in Web Workers.

Приклади

Виявлення зміни підключення

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

var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
var type = connection.effectiveType;

function updateConnectionStatus() {
  console.log("Тип підключення було змінено з " + type + " на " + connection.effectiveType);
  type = connection.effectiveType;
}

connection.addEventListener('change', updateConnectionStatus);

Попереднє завантаження великих ресурсів

Об'єкт підключення Navigator.connection корисний для визначення необхідності попереднього завантажування ресурсів, що мають великий розмір. Перевірка типу підключення буде викликана незабаром після завантаження сторінки. Якщо з'єднання визначено як стільниковий зв’язок, то прапорець preloadVideo буде встановлено у значення false. Для простоти та наочності цей приклад перевіряє лише один тип підключення. На практиці використовується оператор switch або інший метод для перевірки всіх можливих значень NetworkInformation.type. Незалежно від значення type ви можете оцінити швидкість з'єднання через властивість NetworkInformation.effectiveType.

let preloadVideo = true;
var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
if (connection) {
  if (connection.effectiveType === 'slow-2g') {
    preloadVideo = false;
  }
}

Інтерфейси

NetworkInformation
Надає інформацію про з’єднання, яке пристрій використовує для зв’язку з мережею, та забезпечує сповіщення, якщо тип з’єднання змінюється. Інтерфейс NetworkInformation  не може бути створено як екземпляр. Натомість доступ до нього здійснюється через інтерфейс Navigator.

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

Специфікація Статус Коментар
Network Information API
The definition of 'Network Information API' in that specification.
Draft Initial specification

Сумісність

NetworkInformation

BCD tables only load in the browser

BCD tables only load in the browser

Дивіться також