前言
这还是第一次写博客,以前太懒了,现在发现是很有必要记录下这些经验和问题的。最近项目中有个需求(报表单据需要客户签名,连接签字板,把签名单据同步到服务器上),需要和硬件交互,当时硬件商提供了ocx控件,这才是坑的开始。。。
正文
首先安装ocx控件,在html中直接调用(ocx只能在ie上跑,火狐,谷歌都需要安装插件)
1 <object id="HWPostil1" height='100%' width='100%' style='LEFT: 0px; TOP: 0px' classid='clsid:FF1FE7A0-0578-4FEE-A34E-FB21B277D561'></OBJECT>
js 事件
<!--该事件在AIP引擎初始化完毕之后触发--> <SCRIPT LANGUAGE=javascript FOR=HWPostil1 EVENT=NotifyCtrlReady> var AipObj = document.getElementById("HWPostil1"); AipObj.JSEnv = 1; OpenFile(url); //这里可以是文件的实际地址,也可以是服务器请求地址 //登录验证 OcxLogin(type); //设置签名 Signature(); </SCRIPT> <!--保存--> <SCRIPT LANGUAGE=javascript FOR=HWPostil1 EVENT=JSNotifyMenuMsg(lCmd)> if (lCmd == "57603") { var AipObj = document.getElementById("HWPostil1"); AipObj.JSValue = 0; //这里设置取消默认的事件 var url =""; //保存到服务器 saveUrl 可以是本地物理地址,也可以是服务器地址 SaveToS(1, saveUrl, "demo"); window.open(地址) //这里很坑,个人测试过,这个地址如果不是一个参数,是拼接的,那么取消默认 事件无效 } </SCRIPT>