我正在尝试使用 Chrome webusb API 允许 POS Web 应用程序直接打印到 StarMicronics(或任何收据打印机)。
我在这里使用的示例几乎完全一样,只是我将vendorId
过滤器修改为 StarMicronics 的供应商 ID。我也试过用一个完全空的过滤器。它在我测试过的 Mac 电脑上运行良好,但问题出在 Windows 上。
当我单击打印按钮时,Chrome 会打开连接窗口,列出我的设备,我可以选择它并单击连接。navigator.usb.getDevices()
工作也很棒。当我刷新窗口时,将网站连接到设备后,Chrome 再次找到该设备,没有问题。
当我尝试做device.open()
. 我在控制台中收到此错误:DOMException: Access Denied.
从这一点来看,我不能这样做,device.selectConfiguration()
或者device.claimInterface()
因为我收到必须首先打开设备的错误,显然。
我已经启用了我在 Chrome 中知道的所有标志:
#enable-experimental-web-platform-features
#enable-webusb
#new-usb-backend
但这一切都没有帮助。我也尝试过使用其他打印机,例如 HP deskjet 和 Dymo Label Writer,它们都出现相同的错误消息,即访问被拒绝。
同样,它在 Mac 上运行良好。
对此的任何帮助将不胜感激。