USBDevice - 提供对已配对 USB 设备及其控制方法的元数据的访问
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
USBDevice
是 WebUSB API 的接口,提供对已配对 USB 设备及其控制方法的元数据的访问。
属性
USBDevice.configuration
只读
一个 USBConfiguration
对象,用于配对 USB 设备的当前所选接口。
USBDevice.configurations
只读
一个 array
,表示设备的专用接口,用于控制配对的 USB 设备。
USBDevice.deviceClass
只读
标识 USB 设备的三个属性之一,目的是加载将与该设备一起使用的 USB 驱动程序。其他两个属性是 USBDevice.deviceSubclass
和 USBDevice.deviceProtocol
。
USBDevice.deviceProtocol
只读
标识 USB 设备的三个属性之一,目的是加载将与该设备一起使用的 USB 驱动程序。其他两个属性是 USBDevice.deviceClass
和 USBDevice.deviceSubclass
。
USBDevice.deviceSubclass
只读
标识 USB 设备的三个属性之一,目的是加载将与该设备一起使用的 USB 驱动程序。另外两个属性是 USBDevice.deviceClass
和 USBDevice.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.usbVersionMinor
和 USBDevice.usbVersionSubminor
。
USBDevice.usbVersionMinor
只读
声明设备支持的 USB 协议版本的三个属性之一。另外两个属性是 USBDevice.usbVersionMajor
和 USBDevice.usbVersionSubminor
。
USBDevice.usbVersionSubminor
只读
声明设备支持的 USB 协议版本的三个属性之一。其他两个属性是 USBDevice.usbVersionMajor
和 USBDevice.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 的定义 |
草稿 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
claimInterface | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
clearHalt | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
close | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
configuration | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
configurations | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
controlTransferIn | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
controlTransferOut | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
deviceClass | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
deviceProtocol | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
deviceSubclass | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
deviceVersionMajor | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
deviceVersionMinor | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
deviceVersionSubminor | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
isochronousTransferIn | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
isochronousTransferOut | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
manufacturerName | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
open | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
opened | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
productId | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
productName | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
releaseInterface | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
reset | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
selectAlternateInterface | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
selectConfiguration | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
serialNumber | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
transferIn | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
transferOut | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
usbVersionMajor | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
usbVersionMinor | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
usbVersionSubminor | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
vendorId | 61 | 79 | 不支持 | 不支持 | 48 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS 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 | 不支持 |