Web Bluetooth API

Limited availability

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

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Die Web Bluetooth API bietet die Möglichkeit, mit Bluetooth Low Energy Peripheriegeräten zu verbinden und zu interagieren.

Hinweis: Diese API ist nicht verfügbar in Web Workers (nicht über WorkerNavigator verfügbar).

Schnittstellen

Bluetooth

Bietet Methoden zur Abfrage der Bluetooth-Verfügbarkeit und zur Anforderung des Zugriffs auf Geräte.

BluetoothCharacteristicProperties

Bietet Eigenschaften einer bestimmten BluetoothRemoteGATTCharacteristic.

BluetoothDevice

Stellt ein Bluetooth-Gerät innerhalb einer bestimmten Skriptausführungsumgebung dar.

BluetoothRemoteGATTCharacteristic

Stellt eine GATT-Charakteristik dar, die ein grundlegendes Datenelement ist, das weitere Informationen über einen Dienst eines Peripheriegeräts bereitstellt.

BluetoothRemoteGATTDescriptor

Stellt einen GATT-Deskriptor dar, der weitere Informationen über den Wert einer Charakteristik liefert.

BluetoothRemoteGATTServer

Stellt einen GATT-Server auf einem entfernten Gerät dar.

BluetoothRemoteGATTService

Stellt einen Dienst dar, der von einem GATT-Server bereitgestellt wird, einschließlich eines Geräts, einer Liste von referenzierten Diensten und einer Liste der Eigenschaften dieses Dienstes.

Erweiterungen zu anderen Schnittstellen

Die Bluetooth API erweitert die folgenden APIs und fügt die aufgeführten Funktionen hinzu.

Gibt ein Bluetooth-Objekt für das aktuelle Dokument zurück und bietet Zugriff auf die Funktionalitäten der Web Bluetooth API.

Sicherheitsüberlegungen

Die Web Bluetooth API kann nur in einem sicheren Kontext verwendet werden.

Der Zugriff auf die API wird durch die Permissions Policy Direktive bluetooth gesteuert. Die Standard-Zulassungsliste für die bluetooth Richtlinie ist self, was die Bluetooth-Verwendung in gleich-herkunft Embedded Frames ermöglicht, den Zugriff von Drittanbieterinhalten jedoch standardmäßig verhindert. Der Zugriff über ursprüngliche Grenzen hinweg wird aktiviert, indem die zulässigen Ursprünge sowohl in der Permissions-Policy: bluetooth HTTP-Header als auch im gewünschten <iframe> angegeben werden.

Um die Funktion nutzen zu können, muss der Benutzer zunächst eine explizite Genehmigung erteilen (es wird keine Zugriffsanfrage angezeigt, wenn sie aus anderen Gründen, wie z.B. durch eine Permissions Policy blockiert, nicht erlaubt ist). Die Genehmigungsaufforderung wird angezeigt, wenn Bluetooth.requestDevice() aufgerufen wird, um den Zugriff auf ein neues Bluetooth-Gerät anzufordern, für das keine Genehmigung erteilt wurde (das besitzende globale Objekt muss außerdem eine transient activation haben). Sie können Bluetooth.getDevices() verwenden, um alle Geräte abzurufen, für die der Website zuvor eine Genehmigung erteilt wurde.

Die Permissions API Methode navigator.permissions.query() kann mit der bluetooth Berechtigung verwendet werden, um zu testen, ob eine Website die Erlaubnis hat, Bluetooth-Geräte zu verwenden. Der Berechtigungsstatus wird granted (erlaubt), denied (abgelehnt) oder prompt (erfordert die Anerkennung einer Aufforderung durch den Benutzer) sein:

js
const btPermission = await navigator.permissions.query({ name: "bluetooth" });
if (btPermission.state !== "denied") {
  // Do something
}

Spezifikationen

Specification
Web Bluetooth
# bluetooth

Browser-Kompatibilität

BCD tables only load in the browser