前言
这还是第一次写博客,以前太懒了,现在发现是很有必要记录下这些经验和问题的。最近项目中有个需求(报表单据需要客户签名,连接签字板,把签名单据同步到服务器上),需要和硬件交互,当时硬件商提供了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>