我连接了少量 USB 串行接口(一个 HF 收发器、基于 Arduino 的 CW 键控器)和两个蓝牙端口,我从未使用过它们,并且不确定它们来自哪里(可能是某些应用程序)。在我的 SPA 中,我需要阅读端口列表,以便能够选择连接哪个端口作为哪个功能。
然而,当我打电话时navigator.serial.getPorts()
我总是得到一个空列表。顺便说一句,同样的navigator.usb.getDevices()
它在 Chrome 版本 87.0.4280.141(官方版本)(64 位)上运行。串行 API 已启用。
怎么解决这个问题呢?
更新:它是从本地文件系统中的 HTML 文件中的脚本调用的(不通过 HTTP 提供服务)
您需要首先调用来请求用户读取串行端口的权限navigator.serial.requestPort()
:
onclick = async () => {
await navigator.serial.requestPort();
console.log( await navigator.serial.getPorts() );
};
实例 https://shadow-relic-margin.glitch.me/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)