Веб-API Bluetooth
Ограниченная доступность
Эта функция не является базовой, так как она не работает во всех наиболее широко используемых браузерах.
Экспериментальная функция: Это экспериментальная технология
Перед использованием в производстве внимательно изучите таблицу совместимости с браузерами.
Веб-API Bluetooth предоставляет возможность подключения и взаимодействия с периферийными устройствами Bluetooth Low Energy.
Примечание: Этот API не доступен в Web Workers (не экспонируется через WorkerNavigator).
Интерфейсы
Bluetooth-
Предоставляет методы для проверки доступности Bluetooth и запроса доступа к устройствам.
BluetoothCharacteristicProperties-
Предоставляет свойства определённого
BluetoothRemoteGATTCharacteristic. BluetoothDevice-
Представляет устройство Bluetooth внутри конкретной среды выполнения сценария.
BluetoothRemoteGATTCharacteristic-
Представляет характеристику GATT, которая является базовым элементом данных, предоставляющим дополнительную информацию о сервисе периферийного устройства.
BluetoothRemoteGATTDescriptor-
Представляет дескриптор GATT, предоставляющий дополнительную информацию о значении характеристики.
BluetoothRemoteGATTServer-
Представляет сервер GATT на удалённом устройстве.
BluetoothRemoteGATTService-
Представляет сервис, предоставляемый сервером GATT, включая устройство, список ссылочных сервисов и список характеристик этого сервиса.
Расширения других интерфейсов
API Bluetooth расширяет следующие API, добавляя перечисленные функции.
Объект Navigator
-
Возвращает объект
Bluetoothдля текущего документа, предоставляя доступ к функциональности API Web Bluetooth.
Соображения безопасности
API Web Bluetooth может использоваться только в защищённом контексте.
Доступ к API контролируется директивой Политики разрешений bluetooth. Значение по умолчанию для политики bluetooth составляет self, что разрешает использование Bluetooth в вложенных фреймах с тем же происхождением, но по умолчанию запрещает доступ стороннему контенту. Доступ к данным из другого источника разрешается указанием разрешенных источников как в HTTP-заголовке Permissions-Policy: bluetooth, так и в желаемой <iframe>.
Для использования этой функции пользователь должен сначала предоставить явное разрешение (запрос на разрешение не будет отображаться, если доступ запрещён по другим причинам, например, если он заблокирован политикой разрешений). Запрос разрешения отображается при вызове Bluetooth.requestDevice() для запроса доступа к новому устройству Bluetooth, для которого разрешение не предоставлено (управляющий глобальный объект также должен иметь временную активацию). Можно использовать Bluetooth.getDevices() для получения устройств, для которых ранее было предоставлено разрешение для сайта.
Метод API разрешений navigator.permissions.query() может быть использован с разрешением bluetooth для проверки наличия у сайта разрешения на использование устройств Bluetooth. Состояние разрешения будет granted, denied или prompt (требуется подтверждение пользователя после запроса):
const btPermission = await navigator.permissions.query({ name: "bluetooth" });
if (btPermission.state !== "denied") {
// Do something
}
Спецификации
| Спецификация |
|---|
| Web Bluetooth # bluetooth |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
Web_Bluetooth_API |
70Поддержка Linux по умолчанию отключена.56–70Поддерживается только на macOS. |
79Поддержка Linux по умолчанию отключена. |
Нет |
57Поддержка Linux по умолчанию отключена.43–57Поддерживается только на macOS. |
Нет | 56 | Нет | 43 | Нет | 6.0 | Нет |
getAvailability |
78 | 79 | Нет | 65 | Нет | 78 | Нет | 56 | Нет | 12.0 | Нет |
getDevices |
85 | 85 | Нет | 71 | Нет | 85 | Нет | Нет | Нет | Нет | Нет |
requestDevice |
56 | 79 | Нет | 43 | Нет | 56 | Нет | 43 | Нет | 6.0 | Нет |
© 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/Web_Bluetooth_API