1. 程式人生 > >瀏覽器中使用js呼叫Activex、NPAPI開啟串列埠並收發資料

瀏覽器中使用js呼叫Activex、NPAPI開啟串列埠並收發資料

IE瀏覽器中訪問COM口收發資料,可以訪問com口印表機、GSM 貓、手機、串列埠掃描槍等裝置,支援使用HEX 位元組傳送接收,更好地支援各種COM口裝置,可以用於web系統中訪問串列埠或者虛擬串列埠的硬體裝置。

為火狐瀏覽器和chrome瀏覽器製作的介面可以是串列埠控制元件在更多瀏覽器上訪問。

上圖使用ATD指令實現web頁面撥號,將撥號指令傳送到連線到電腦的手機可通過藍芽或資料線連線

點選【選擇並開啟串列埠】後列出已使用的串列埠列表供使用者選擇

頁面HTML程式碼如下

<input type="button" value="選擇並開啟串列埠" onclick="selcomport()"/>
<textarea id="t_dataIn" style="width:100%;height:300px"></textarea>
<br>
<form onsubmit="send();return false;">
<input type="text" id="t_sdata"  /> 
<input type="submit" value="傳送"/></form>

頁面js程式碼如下

var tcom = new ActiveXObject("TComm.mComm");

選擇並開啟埠

//選擇並開啟埠
function selcomport(){
	var comNo=tcom.SelectComm(); //alert(tcom.ComList);獲取串列埠列表
	if(comNo>0 && tcom.InitCom(comNo)){ //開啟串列埠
		tcom.onDataIn=function(dat){ //接收串列埠返回資料
			$("#t_dataIn").val($("#t_dataIn").val()+dat);
		}
	}else{
		alert("開啟埠失敗!")
	}
}


傳送資料

function send(){
  	tcom.SendData($("#t_sdata").val()+"\r");//往串列埠傳送資料
	$("#t_sdata").val("");
}


 關閉串列埠

function closeCom(){
	tcom.CloseCom();
}

線上示例