【问题标题】:Serial Port communication in ChromeChrome 中的串口通信
【发布时间】:2018-04-19 18:03:17
【问题描述】:

我有一个遗留应用程序,它使用ActiveX 控件进行串行通信。这在 IE 中是正确的。

由于 ActiveX 是特定于 IE 的技术,显然它不会在 Chrome 或其他浏览器中运行

所以我不想打扰 IE 的功能,想引入浏览器特定的功能如下。

$(document).ready(function(e){

 var isIEBrowserFlag = true;
 if(isIEBrowserFlag)
 {
  var obj = new ActiveXObject("MSCommLib.MSComm");
  obj.CommPort = commPort;
  obj.RThreshold = thresHold;
  obj.Settings = settings;
  obj.PortOpen = true;
  obj.DTREnable = true;
  obj.Output = "test";
 obj.PortOpen = false;

//other stuff
 }
 else
 {
    //chrome
 }
 //sendBagToPrinter(obj);
});

通过谷歌搜索,我了解到jQuery.parseXML(),但如何使用 $.parseXML() 在 Chrome 中实现与 IE 相同的功能

尝试了类似的其他插件,例如juart,但不符合我的要求。

【问题讨论】:

  • 串口通信与jQuery.parseXML()无关。

标签: javascript jquery asp.net google-chrome activex


【解决方案1】:

chrome.serial API 提供对客户端串行端口的访问,但来自 Chrome 应用程序。 我的建议是,为了将来的支持,为串行设备使用/编写某种服务器,并通过 json 类型的通信从浏览器连接到服务器。见https://github.com/johnlauer/serial-port-json-server

【讨论】: