Web Serial API 浏览器支持
发布于 更新于
Web Serial API 让 Web App 通过 navigator.serial.requestPort()(可按 USB 厂商 ID 过滤)请求一个串口,并通过该端口的 readable 与 writable 流读写。在 port.open({ baudRate }) 完成之前两个流都是 null;请求需要安全上下文和瞬时用户激活,没有匹配端口时用户无从选择,请求随之被拒绝。
下表覆盖 navigator.serial.requestPort() 与核心的 Serial 接口,数据来自 MDN browser-compat-data。Android 上的 Chrome 在 138 至 146 版只暴露通过蓝牙 RFCOMM 模拟提供的串口,148 版起完整支持,表中各行有记录。
- 图例
- 支持
- 部分支持
- 需开启标志
- 不支持
- 未知
| 浏览器 / 平台 | 支持 | 版本 | 置信度 | 来源 | 备注 |
|---|---|---|---|---|---|
| Chrome (Desktop) | 支持 | 89 | 高 | 来源 | — |
| Chrome (Android) | 支持 | 148 | 高 | 来源 | — |
| Edge (Desktop) | 支持 | 89 | 高 | 来源 | 1 |
| Firefox (Desktop) | 支持 | 151 | 高 | 来源 | — |
| Firefox (Android) | 不支持 | — | 高 | 来源 | 2 |
| Safari (macOS) | 不支持 | — | 高 | 来源 | 3 |
| Safari (iOS) | 不支持 | — | 高 | 来源 | 45 |
| Samsung Internet | 部分支持 | 30.0 | 高 | 来源 | 67 |
| WebView (Android) | 不支持 | — | 高 | 来源 | 8 |
- 由 browser-compat-data 镜像自 Chrome 的数据推导。
- browser-compat-data 未记录 Firefox for Android 的支持。
- browser-compat-data 未记录 Safari 的支持。
- browser-compat-data 未记录 iOS 版 Safari 的支持。
- 由 browser-compat-data 镜像自 Safari 的数据推导。
- 仅当串口由蓝牙 RFCOMM 串口仿真提供时才可用。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
- 实现跟踪:https://crbug.com/40740509。
- Web Serial API:navigator.serial 串口访问
- WebHID API 浏览器支持
- Web Serial API(wicg.github.io)
- Web Serial API(developer.mozilla.org)