USBDevice - 提供对已配对 USB 设备及其控制方法的元数据的访问

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

USBDeviceWebUSB API 的接口,提供对已配对 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 只读

由 usg.org 分配的官方供应商 ID。

方法

USBDevice.claimInterface()

返回一个 promise,该请求在请求的接口被声明为独占访问时进行解析。

USBDevice.clearHalt()

返回 promise,当清除暂停条件后解析。

USBDevice.controlTransferIn()

返回一个 promise,当命令或状态操作已传输到 USB 设备时,它解析为一个 USBTransferInResult

USBDevice.controlTransferOut()

返回一个 promise,当从 USB 设备发送了命令或状态操作后,它解析为一个 USBTransferOutResult

USBDevice.close()

返回一个 promise,当释放所有打开的接口并且设备会话结束时解析。

USBDevice.isochronousTransferIn()

返回一个 promise,当对时间敏感的信息已传输到 USB 设备时,它解析为一个 USBIsochronousInTransferResult

USBDevice.isochronousTransferOut()

返回一个 promise,当从 USB 设备发送了对时间敏感的信息后,它解析为一个 USBIsochronousOutTransferResult

USBDevice.open()

返回一个 promise,它在设备会话启动时进行解析。

USBDevice.releaseInterface()

返回一个 promise,当从互斥访问释放重名接口时进行解析。

USBDevice.reset()

返回一个 promise,它在重置设备,取消所有应用程序操作以及拒绝其诺言时进行解析。

USBDevice.selectAlternateInterface()

返回 promise,当选择了指定的替代端点时解析。

USBDevice.selectConfiguration()

返回一个 promise,当选择指定的配置时解析。

USBDevice.transferIn()

返回一个 promise,当从 USB 设备接收到批量或中断数据时,它解析为一个 USBTransferInResult

USBDevice.transferOut()

返回一个 promise,当大容量或中断数据发送到 USB 设备时的 ,它解析为一个 USBTransferOutResult

规范

规范 状态 备注
WebUSB
USBDevice 的定义
草稿 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持6179 不支持 不支持48 不支持
claimInterface6179 不支持 不支持48 不支持
clearHalt6179 不支持 不支持48 不支持
close6179 不支持 不支持48 不支持
configuration6179 不支持 不支持48 不支持
configurations6179 不支持 不支持48 不支持
controlTransferIn6179 不支持 不支持48 不支持
controlTransferOut6179 不支持 不支持48 不支持
deviceClass6179 不支持 不支持48 不支持
deviceProtocol6179 不支持 不支持48 不支持
deviceSubclass6179 不支持 不支持48 不支持
deviceVersionMajor6179 不支持 不支持48 不支持
deviceVersionMinor6179 不支持 不支持48 不支持
deviceVersionSubminor6179 不支持 不支持48 不支持
isochronousTransferIn6179 不支持 不支持48 不支持
isochronousTransferOut6179 不支持 不支持48 不支持
manufacturerName6179 不支持 不支持48 不支持
open6179 不支持 不支持48 不支持
opened6179 不支持 不支持48 不支持
productId6179 不支持 不支持48 不支持
productName6179 不支持 不支持48 不支持
releaseInterface6179 不支持 不支持48 不支持
reset6179 不支持 不支持48 不支持
selectAlternateInterface6179 不支持 不支持48 不支持
selectConfiguration6179 不支持 不支持48 不支持
serialNumber6179 不支持 不支持48 不支持
transferIn6179 不支持 不支持48 不支持
transferOut6179 不支持 不支持48 不支持
usbVersionMajor6179 不支持 不支持48 不支持
usbVersionMinor6179 不支持 不支持48 不支持
usbVersionSubminor6179 不支持 不支持48 不支持
vendorId6179 不支持 不支持48 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持61 未知 不支持 未知45 不支持
claimInterface 不支持61 未知 不支持 未知45 不支持
clearHalt 不支持61 未知 不支持 未知45 不支持
close 不支持61 未知 不支持 未知45 不支持
configuration 不支持61 未知 不支持 未知45 不支持
configurations 不支持61 未知 不支持 未知45 不支持
controlTransferIn 不支持61 未知 不支持 未知45 不支持
controlTransferOut 不支持61 未知 不支持 未知45 不支持
deviceClass 不支持61 未知 不支持 未知45 不支持
deviceProtocol 不支持61 未知 不支持 未知45 不支持
deviceSubclass 不支持61 未知 不支持 未知45 不支持
deviceVersionMajor 不支持61 未知 不支持 未知45 不支持
deviceVersionMinor 不支持61 未知 不支持 未知45 不支持
deviceVersionSubminor 不支持61 未知 不支持 未知45 不支持
isochronousTransferIn 不支持61 未知 不支持 未知45 不支持
isochronousTransferOut 不支持61 未知 不支持 未知45 不支持
manufacturerName 不支持61 未知 不支持 未知45 不支持
open 不支持61 未知 不支持 未知45 不支持
opened 不支持61 未知 不支持 未知45 不支持
productId 不支持61 未知 不支持 未知45 不支持
productName 不支持61 未知 不支持 未知45 不支持
releaseInterface 不支持61 未知 不支持 未知45 不支持
reset 不支持61 未知 不支持 未知45 不支持
selectAlternateInterface 不支持61 未知 不支持 未知45 不支持
selectConfiguration 不支持61 未知 不支持 未知45 不支持
serialNumber 不支持61 未知 不支持 未知45 不支持
transferIn 不支持61 未知 不支持 未知45 不支持
transferOut 不支持61 未知 不支持 未知45 不支持
usbVersionMajor 不支持61 未知 不支持 未知45 不支持
usbVersionMinor 不支持61 未知 不支持 未知45 不支持
usbVersionSubminor 不支持61 未知 不支持 未知45 不支持
vendorId 不支持61 未知 不支持 未知45 不支持