Network Information API

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Note: This feature is available in Web Workers.

Network Information API cung cấp thông tin về kết nối của hệ thống theo loại kết nối chung, chẳng hạn như wifi, cellular, v.v. API này có thể được dùng để chọn nội dung độ phân giải cao hoặc thấp dựa trên kết nối của người dùng.

Giao diện này gồm một đối tượng NetworkInformation duy nhất, mà một thể hiện của nó được trả về bởi thuộc tính Navigator.connection hoặc thuộc tính WorkerNavigator.connection.

Giao diện

NetworkInformation

Cung cấp thông tin về kết nối mà một thiết bị đang dùng để giao tiếp với mạng và cung cấp một cách để script được thông báo nếu kiểu kết nối thay đổi. Giao diện NetworkInformation không thể được khởi tạo trực tiếp. Thay vào đó, nó được truy cập thông qua giao diện Navigator hoặc giao diện WorkerNavigator.

Mở rộng cho các giao diện khác

Trả về một đối tượng NetworkInformation chứa thông tin về kết nối mạng của một thiết bị.

WorkerNavigator.connection Read only

Cung cấp một đối tượng NetworkInformation chứa thông tin về kết nối mạng của một thiết bị.

Ví dụ

Phát hiện thay đổi kết nối

Ví dụ này theo dõi các thay đổi trong kết nối của người dùng.

js
let type = navigator.connection.effectiveType;

function updateConnectionStatus() {
  console.log(
    `Loại kết nối đã thay đổi từ ${type} thành ${navigator.connection.effectiveType}`,
  );
  type = navigator.connection.effectiveType;
}

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

Tải trước tài nguyên lớn

Đối tượng connection hữu ích để quyết định có nên tải trước các tài nguyên tiêu tốn nhiều băng thông hoặc bộ nhớ hay không. Ví dụ này sẽ được gọi ngay sau khi trang tải để kiểm tra xem có loại kết nối nào mà việc tải trước video là không nên hay không. Nếu phát hiện kết nối di động, cờ preloadVideo sẽ được đặt thành false. Để đơn giản và rõ ràng, ví dụ này chỉ kiểm tra một loại kết nối. Trong thực tế, trường hợp sử dụng thường sẽ dùng câu lệnh switch hoặc một phương pháp khác để kiểm tra tất cả các giá trị có thể có của NetworkInformation.type. Bất kể giá trị type là gì, bạn đều có thể ước tính tốc độ kết nối thông qua thuộc tính NetworkInformation.effectiveType.

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

Thông số kỹ thuật

Thông số kỹ thuật
Network Information API

Tương thích trình duyệt

Xem thêm