我正在通过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,单击";"设备";选项卡,找到您的设备并单击";检查";按钮,然后点击";获取配置描述符";按钮,并将生成的页面的屏幕截图附加到您提交的问题中。