问题描述
我需要使用webUSB将设备连接到浏览器,连接后我调用open方法,并且此错误变为“ 未捕获(承诺)DOMException:访问被拒绝。”。如何解决?
ngOnInit(): void {
const button = document.getElementById('connectButton');
button.addEventListener('click',async () => {
let device;
try {
device = await navigator.usb.requestDevice({ filters: []});
} catch (err) {
}
device.open()
.then(() => device.selectConfiguration(1))
.then(() => device.claimInterface(device.configuration.interfaces[0].interfaceNumber));
});
}
解决方法
您正在运行什么平台?
在Linux上,如果当前用户无权打开USB设备,则会出现此错误。您将需要配置udev规则以允许用户访问它。
在Windows上,如果未为设备加载WinUSB驱动程序,则会出现此错误。您可以使用Zadig工具强制Windows为设备加载特定的驱动程序。
提供给站点的错误消息是故意含糊的。检查chrome:// device-log以查看有关浏览器尝试打开设备时遇到的错误的更多详细信息。