我连接了少量 USB 串行接口(一个 HF 收发器、基于 Arduino 的 CW 键控器)和两个蓝牙端口,我从未使用过它们,并且不确定它们来自哪里(可能是某些应用程序)。在我的 SPA 中,我需要阅读端口列表,以便能够选择连接哪个端口作为哪个功能。
然而,当我打电话时,navigator.serial.getPorts()
我总是得到一个空列表。navigator.usb.getDevices()
顺便说一句,它在 Chrome 版本 87.0.4280.141(官方版本)(64 位)上运行也是如此。串行 API 已启用。
怎么解决这个问题呢?
更新:它是从本地文件系统中的 HTML 文件中的脚本调用的(不通过 HTTP 提供服务)
Kai*_*ido 10
您需要首先调用以下命令来请求用户读取串行端口的权限navigator.serial.requestPort()
:
onclick = async () => {
await navigator.serial.requestPort();
console.log( await navigator.serial.getPorts() );
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4387 次 |
最近记录: |