Web Bluetooth API

Limited availability

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

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

Web Bluetooth API cung cấp khả năng kết nối và tương tác với các thiết bị ngoại vi Bluetooth Low Energy.

Note: API này không có sẵn trong Web Workers (không được lộ ra qua WorkerNavigator).

Giao diện

Bluetooth

Cung cấp các phương thức để kiểm tra khả năng sẵn có của Bluetooth và yêu cầu quyền truy cập vào thiết bị.

BluetoothCharacteristicProperties

Cung cấp các thuộc tính của một BluetoothRemoteGATTCharacteristic cụ thể.

BluetoothDevice

Đại diện cho một thiết bị Bluetooth trong một môi trường thực thi script cụ thể.

BluetoothRemoteGATTCharacteristic

Đại diện cho một GATT Characteristic, là một phần tử dữ liệu cơ bản cung cấp thêm thông tin về dịch vụ của một thiết bị ngoại vi.

BluetoothRemoteGATTDescriptor

Đại diện cho một GATT Descriptor, cung cấp thêm thông tin về giá trị của một characteristic.

BluetoothRemoteGATTServer

Đại diện cho một GATT Server trên thiết bị từ xa.

BluetoothRemoteGATTService

Đại diện cho một dịch vụ do GATT server cung cấp, bao gồm một thiết bị, danh sách các dịch vụ được tham chiếu và danh sách các characteristic của dịch vụ này.

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

Bluetooth API mở rộng các API sau, bổ sung những tính năng được liệt kê.

Trả về một đối tượng Bluetooth cho tài liệu hiện tại, cung cấp quyền truy cập vào chức năng của Web Bluetooth API.

Cân nhắc về bảo mật

Web Bluetooth API chỉ có thể được dùng trong một ngữ cảnh an toàn.

Quyền truy cập API này được kiểm soát bởi chỉ thị Permissions Policy bluetooth. Danh sách cho phép mặc định cho chính sách bluetoothself, cho phép dùng Bluetooth trong các frame lồng nhau cùng nguồn gốc nhưng mặc định ngăn nội dung từ bên thứ ba truy cập. Truy cập khác nguồn gốc được bật bằng cách chỉ định các origin được phép trong cả header HTTP Permissions-Policy: bluetooth<iframe> mong muốn.

Để dùng tính năng này, trước tiên người dùng phải cấp quyền rõ ràng. Họ sẽ không được nhắc cấp quyền nếu quyền đã bị chặn vì lý do khác, chẳng hạn như bị ngăn bởi Permissions Policy. Lời nhắc cấp quyền sẽ xuất hiện khi gọi Bluetooth.requestDevice() để yêu cầu truy cập vào một thiết bị Bluetooth mới mà chưa được cấp quyền. Đối tượng toàn cục sở hữu cũng phải có transient activation. Bạn có thể dùng Bluetooth.getDevices() để truy xuất mọi thiết bị mà trước đó site đã được cấp quyền.

Phương thức navigator.permissions.query() của Permissions API có thể được dùng với quyền bluetooth để kiểm tra xem site có quyền sử dụng thiết bị Bluetooth hay không. Trạng thái quyền sẽ là granted, denied hoặc prompt (cần người dùng xác nhận qua lời nhắc):

js
const btPermission = await navigator.permissions.query({ name: "bluetooth" });
if (btPermission.state !== "denied") {
  // Thực hiện gì đó
}

Thông số kỹ thuật

Specification
Web Bluetooth
# bluetooth

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