Bluetooth

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

这是 实验性技术
检查 浏览器兼容性表格 在生产中使用这之前。

Bluetooth interface of the Web Bluetooth API 返回 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;
					

特性

Inherits properties from its parent EventTarget .

Bluetooth.referringDevice 只读
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.

方法

Bluetooth.getAvailability()
返回 Promise that resolved to a Boolean 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()
返回 Promise that resolved to an array of BluetoothDevice s which the origin already obtained permission for via a call to Bluetooth.requestDevice() .
Bluetooth.requestDevice()
返回 Promise to a BluetoothDevice object with the specified options.

规范

规范 状态 Comment
Web Bluetooth
The definition of 'Bluetooth' in that specification.
草案 初始定义。

浏览器兼容性

更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
Bluetooth
Chrome 56
56
macOS only.
56
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ). To change preferences in Chrome, visit chrome://flags.
70
Windows 10.
Edge ≤79
≤79
macOS only.
≤79
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
≤79
Windows 10.
Firefox No IE No Opera 43
43
macOS only.
43
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
57
Windows 10.
Safari No WebView Android No Chrome Android 56 Firefox Android No Opera Android 43 Safari iOS No Samsung Internet Android 6.0
getAvailability
Chrome 56
56
macOS only.
56
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ). To change preferences in Chrome, visit chrome://flags.
70
Windows 10.
Edge ≤79
≤79
macOS only.
≤79
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
≤79
Windows 10.
Firefox No IE No Opera 43
43
macOS only.
43
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
57
Windows 10.
Safari No WebView Android No Chrome Android 56 Firefox Android No Opera Android 43 Safari iOS No Samsung Internet Android 6.0
onavailabilitychanged
Chrome 56
56
macOS only.
56
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ). To change preferences in Chrome, visit chrome://flags.
70
Windows 10.
Edge ≤79
≤79
macOS only.
≤79
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
≤79
Windows 10.
Firefox No IE No Opera 43
43
macOS only.
43
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
57
Windows 10.
Safari No WebView Android No Chrome Android 56 Firefox Android No Opera Android 43 Safari iOS No Samsung Internet Android 6.0
referringDevice
Chrome 56
56
macOS only.
56
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ). To change preferences in Chrome, visit chrome://flags.
70
Windows 10.
Edge ≤79
≤79
macOS only.
≤79
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
≤79
Windows 10.
Firefox No IE No Opera 43
43
macOS only.
43
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
57
Windows 10.
Safari No WebView Android No Chrome Android 56 Firefox Android No Opera Android 43 Safari iOS No Samsung Internet Android 6.0
requestDevice
Chrome 56
56
macOS only.
56
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 56: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ). To change preferences in Chrome, visit chrome://flags.
70
Windows 10.
Edge ≤79
≤79
macOS only.
≤79
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version ≤79: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
≤79
Windows 10.
Firefox No IE No Opera 43
43
macOS only.
43
Disabled
Linux and versions of Windows earlier than 10.
Disabled From version 43: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled ).
57
Windows 10.
Safari No WebView Android No Chrome Android 56 Firefox Android No Opera Android 43 Safari iOS No Samsung Internet Android 6.0

图例

完整支持
完整支持
不支持
不支持
实验。期望将来行为有所改变。
实验。期望将来行为有所改变。
见实现注意事项。
用户必须明确启用此特征。
用户必须明确启用此特征。