最关键的就是这个activeX了
<OBJECT id=MSComm1 CLASSID="clsid:648A5600-2C6E-101B-82B6-000000000014"
codebase="MSCOMM32.OCX" type="application/x-oleobject" style="LEFT:54px;TOP:14px" >
<PARAM NAME="CommPort" VALUE="3"/>
<PARAM NAME="Settings" VALUE="9600,N,8,1"/>
<PARAM NAME="RTSEnable" VALUE="1"/>
<PARAM NAME="DTREnable" VALUE="1"/>
<PARAM NAME="Handshaking" VALUE="0"/>
<PARAM NAME="NullDiscard" VALUE="0"/>
<PARAM NAME="ParityReplace" VALUE="?"/>
<PARAM NAME="EOFEnable" VALUE="0"/>
<PARAM NAME="InputMode" VALUE="0"/>
<PARAM NAME="InBufferSize" VALUE="1024"/>
<PARAM NAME="InputLen" VALUE="0"/>
<PARAM NAME="OutBufferSize" VALUE="512"/>
<PARAM NAME="SThreshold" VALUE="0"/>
<PARAM NAME="RThreshold" VALUE="1"/>
</OBJECT>
然后就是事件处理
<SCRIPT LANGUAGE=javascript FOR=MSComm1 EVENT=OnComm> <!-- // MSComm1控件每遇到 OnComm 事件就调用 MSComm1_OnComm()函数 MSComm1_OnComm() //--> </SCRIPT>
网上的代码也很多
但是开始用的时候发现我这没报错,但就是没反应
比如我打开com3,再用串口助手开com3 居然也成功了
肯定是我js没连上
最终发现是注册的问题:
我机器上不知道怎么以前装过mscomm32.ocx 而且装的好像还不对
classid 也是:648A5600-2C6E-101B-82B6-000000000014
解决办法:
在注册表搜索 648A5600-2C6E-101B-82B6-000000000014
把找到的全部删除
然后重新注册就可以了
遇到同样问题的可以试试