另一种选择(除了具有安全权限的 ActiveX 或 Java 小程序)可能是 Google Native Client 和 Pepper API,尽管这是否足以访问串行端口,我不知道。
Firefox 扩展可以包含可以访问串行端口的本机 XPCOM 组件,并且您可能会发现已经有一种方法可以从浏览器 chrome(扩展是)访问串行端口,因为安全令牌和智能卡系统支持串行读取器。Firefox 扩展也可用于提供下一个解决方案,这需要在系统上放置一个本地组件或应用程序。
您能告诉我们这里针对哪些浏览器和操作系统,以及为什么 ActiveX 和 Java 被排除在外吗?
其他人建议使用本机运行代理通过某种协议公开串行端口。您可以为此使用 node、python 或任何其他可以同时创建串行连接和套接字的语言。要从浏览器应用程序访问代理,您需要向页面授予特殊的安全权限,然后您可以使您的代理成为 HTTP 或 WebSocket 服务器。您还可以从代理提供 javascript,这将授予脚本 HTTP 和 WebSocket 访问其作为代理的原始服务器的权限。Google Chrome 扩展程序可以使用其套接字客户端访问任何目标和端口。另外,我相信可以在 Google Chrome 中设置一个配置,以允许对某些或每个页面进行此操作,与允许网页使用本机客户端相同。
在不了解您的目标的情况下,我无法确定最佳解决方案是什么。