Bluetooth

Secure context

This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Experimental

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

The Bluetooth interface of the Web Bluetooth API returns a Promise to a BluetoothDevice object with the specified options.

Interface

interface Bluetooth : EventTarget {
  Promise<boolean> getAvailability();
  attribute EventHandler onavailabilitychanged;
  [SameObject]
  readonly attribute BluetoothDevice? referringDevice;
  Promise<sequence<BluetoothDevice>> getDevices();
  Promise<BluetoothDevice> requestDevice(optional RequestDeviceOptions options = {});
};
Bluetooth includes BluetoothDeviceEventHandlers;
Bluetooth includes CharacteristicEventHandlers;
Bluetooth includes ServiceEventHandlers;

Properties

Inherits properties from its parent EventTarget.

Bluetooth.referringDevice Read only
Returns a reference to the device, if any, from which the user opened the current page. For example, an Eddystone beacon might advertise a URL, which the user agent allows the user to open. A BluetoothDevice representing the beacon would be available through navigator.bluetooth.referringDevice.

Events

Bluetooth.onavailabilitychanged
An event handler that runs when an event of type availabilitychanged has fired.

Methods

Bluetooth.getAvailability()
Returns a Promise that resolved to a boolean value indicating whether the user-agent has the ability to support Bluetooth. Some user-agents let the user configure an option that affects what is returned by this value. If this option is set, that is the value returned by this method.
Bluetooth.getDevices()
Returns a Promise that resolved to an array of BluetoothDevices which the origin already obtained permission for via a call to Bluetooth.requestDevice().
Bluetooth.requestDevice()
Returns a Promise to a BluetoothDevice object with the specified options.

Specifications

Specification
Web Bluetooth
# bluetooth

Browser compatibility

BCD tables only load in the browser