Bluetooth: getAvailability() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

getAvailability() 方法是 Bluetooth 介面的一個方法,它名義上返回 true,表示使用者代理可以支援藍牙(因為裝置有藍牙介面卡),否則返回 false

使用“名義上”這個詞是因為,如果 Web 藍牙 API 的使用許可權被 Permissions-Policy: bluetooth 許可權拒絕,該方法將始終返回 false。此外,使用者可以配置其瀏覽器,即使瀏覽器確實有一個執行中的藍牙介面卡,也能從 getAvailability() 呼叫中返回 false,反之亦然。如果許可權阻止了訪問,則此設定值將被忽略。

即使 getAvailability() 返回 true,並且裝置實際上有一個藍牙介面卡,這並不一定意味著呼叫 navigator.bluetooth.requestDevice() 會解析為一個 BluetoothDevice。藍牙介面卡可能未開啟,並且使用者可能會在提示時拒絕使用該 API 的許可權。

語法

js
getAvailability()

引數

無。

返回值

一個 Promise,它會解析為一個 Boolean 值。

如果訪問被 Permissions-Policy: bluetooth 拒絕,如果使用者已將瀏覽器配置為始終解析為 false,或者裝置沒有藍牙介面卡,那麼該 Promise 將解析為 false。否則,它將解析為 true

異常

無。

示例

下面的程式碼片段會在控制檯中列印一條訊息,指示裝置是否支援藍牙。

js
navigator.bluetooth.getAvailability().then((available) => {
  if (available) {
    console.log("This device supports Bluetooth!");
  } else {
    console.log("Doh! Bluetooth is not supported");
  }
});

規範

規範
Web 藍牙
# dom-bluetooth-getavailability

瀏覽器相容性