USBDevice

可用性有限

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

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

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

注意:此功能在 Web Workers 中可用。

WebUSB API 的 USBDevice 介面提供對配對 USB 裝置元資料的訪問以及控制裝置的方法。

例項屬性

USBDevice.configuration 只讀 實驗性

一個 USBConfiguration 物件,用於當前為已配對 USB 裝置選擇的介面。

USBDevice.configurations 只讀 實驗性

一個 array,包含用於控制已配對 USB 裝置的裝置特定介面。

USBDevice.deviceClass 只讀 實驗性

用於識別 USB 裝置以載入相容 USB 驅動程式的三個屬性之一。另外兩個屬性是 USBDevice.deviceSubclassUSBDevice.deviceProtocol

USBDevice.deviceProtocol 只讀 實驗性

用於識別 USB 裝置以載入相容 USB 驅動程式的三個屬性之一。另外兩個屬性是 USBDevice.deviceClassUSBDevice.deviceSubclass

USBDevice.deviceSubclass 只讀 實驗性

用於識別 USB 裝置以載入相容 USB 驅動程式的三個屬性之一。另外兩個屬性是 USBDevice.deviceClassUSBDevice.deviceProtocol

USBDevice.deviceVersionMajor 只讀 實驗性

語義版本控制方案中裝置的主版本號。

USBDevice.deviceVersionMinor 只讀 實驗性

語義版本控制方案中裝置的次版本號。

USBDevice.deviceVersionSubminor 只讀 實驗性

語義版本控制方案中裝置的補丁版本號。

USBDevice.manufacturerName 只讀 實驗性

製造 USB 裝置的組織的名稱。

USBDevice.opened 只讀 實驗性

指示是否已與已配對的 USB 裝置啟動會話。

USBDevice.productId 只讀 實驗性

製造商定義的標識 USB 裝置的程式碼。

USBDevice.productName 只讀 實驗性

製造商定義的標識 USB 裝置的名稱。

USBDevice.serialNumber 只讀 實驗性

特定 USB 裝置的製造商定義序列號。

USBDevice.usbVersionMajor 只讀 實驗性

宣告裝置支援的 USB 協議版本的三個屬性之一。另外兩個屬性是 USBDevice.usbVersionMinorUSBDevice.usbVersionSubminor

USBDevice.usbVersionMinor 只讀 實驗性

宣告裝置支援的 USB 協議版本的三個屬性之一。另外兩個屬性是 USBDevice.usbVersionMajorUSBDevice.usbVersionSubminor

USBDevice.usbVersionSubminor 只讀 實驗性

宣告裝置支援的 USB 協議版本的三個屬性之一。另外兩個屬性是 USBDevice.usbVersionMajorUSBDevice.usbVersionMinor

USBDevice.vendorId 只讀 實驗性

usb.org 分配的官方供應商 ID。

例項方法

USBDevice.claimInterface() 實驗性

返回一個 Promise,在請求的介面被獨佔訪問時解決。

USBDevice.clearHalt() 實驗性

返回一個 Promise,在暫停條件清除時解決。

USBDevice.controlTransferIn() 實驗性

返回一個 Promise,當命令或狀態操作已傳輸到 USB 裝置時,用 USBInTransferResult 解決。

USBDevice.controlTransferOut() 實驗性

返回一個 Promise,當命令或狀態操作已從 USB 裝置傳輸時,用 USBOutTransferResult 解決。

USBDevice.close() 實驗性

返回一個 Promise,在所有開放介面被釋放且裝置會話結束時解決。

USBDevice.forget() 實驗性

返回一個 Promise,在所有開放介面被釋放、裝置會話結束且許可權重置後解決。

USBDevice.isochronousTransferIn() 實驗性

返回一個 Promise,當時間敏感資訊已傳輸到 USB 裝置時,用 USBIsochronousInTransferResult 解決。

USBDevice.isochronousTransferOut() 實驗性

返回一個 Promise,當時間敏感資訊已從 USB 裝置傳輸時,用 USBIsochronousOutTransferResult 解決。

USBDevice.open() 實驗性

返回一個 Promise,在裝置會話啟動時解決。

USBDevice.releaseInterface() 實驗性

返回一個 Promise,在被宣告的介面從獨佔訪問中釋放時解決。

USBDevice.reset() 實驗性

返回一個 Promise,在裝置重置且所有應用程式操作被取消且其 Promise 被拒絕時解決。

USBDevice.selectAlternateInterface() 實驗性

返回一個 Promise,在指定的備用端點被選擇時解決。

USBDevice.selectConfiguration() 實驗性

返回一個 Promise,在指定的配置被選擇時解決。

USBDevice.transferIn() 實驗性

返回一個 Promise,當批次或中斷資料從 USB 裝置接收時,用 USBInTransferResult 解決。

USBDevice.transferOut() 實驗性

返回一個 Promise,當批次或中斷資料傳送到 USB 裝置時,用 USBOutTransferResult 解決。

規範

規範
WebUSB API
# 裝置使用

瀏覽器相容性