WebUSB"USBDevice.configs"因平台而异



我正在通过WebUSB在网页和热敏打印机之间建立连接。在我的笔记本电脑(Mac,Chrome 91(上,结果不出所料:出现了一个设备,我可以打开它并选择一些配置。然而,当试图将我的手机(Android、Chrome 91(连接到热敏打印机时,WebUSB对象没有可供我选择的配置,因此我无法在那里使用打印机。

为什么同一个USBDevice在MacOS和Android上有不同的配置?

要复制的代码:

const device = await navigator.usb.requestDevice({ filters: [{}] });
console.log(device.configurations);

这会在MacOS上记录[USBConfiguration],在Android上记录[](当选择热敏打印机CITIZEN CT-E651时(。

我已经搜索了WebUSB规范的所有问题,但找不到这个问题的答案,也找不到解决方案。

这可能是Chrome中的一个错误。请在项目问题跟踪器中提交问题报告。为了帮助收集更多信息,请包括中显示的任何日志输出chrome://device-log在调用requestDevice((后,在Android设备上。

要与macOS上的行为进行比较,请在您的macOS设备上访问chrome://usb-internals,单击";"设备";选项卡,找到您的设备并单击";检查";按钮,然后点击";获取配置描述符";按钮,并将生成的页面的屏幕截图附加到您提交的问题中。

最新更新