【发布时间】:2022-01-06 16:44:58
【问题描述】:
我正在尝试使用 WebUSB 接口访问 USB 大容量存储设备。我读到无法访问 USB 大容量存储设备:
- “例如,如果设备是 USB 大容量存储设备, 接口不可声明,如果没有其他接口 设备将被隐藏。” (Link)
- “以下 USB 接口类集,不应使用 WebUSB API 声明,将被 Blink 明确阻止:音频、视频、HID、大容量存储[...]”(Link)李>
- “它不能。USB 大容量存储设备被系统的通用 USB 大容量存储类驱动程序声明,因此浏览器无法使用。” (Link)
我们目前正在将 USB 记忆棒用于应用程序的独立版本,其中 USB 记忆棒的序列号对于识别许可证很重要。对于我们的新软件,我还需要访问 USB 大容量存储设备的序列号,但最好是在浏览器中这样做。
Google Chrome 确实可以识别该设备,可以在此处看到。
但是当请求通过 WebUSB 访问设备时,它没有显示在列表中:
我的代码很简单:
navigator.usb.requestDevice({ filters: [] }).then(e => {console.log(e)});
有没有办法使用浏览器界面访问 USB 大容量存储设备的序列号?
【问题讨论】:
-
谢谢,但如前所述,USB 设备未列出,因此无法访问 USBDevice.serialNumber。
-
看起来大容量存储设备只能通过WebHID API 获得。但是
HIDDevice没有序列号 -> Serial number · Issue #34 · WICG/webhid · GitHub -
不幸的是,在使用 HID 时,设备也无法识别......(当然序列号问题仍然存在)
标签: javascript google-chrome usb webusb