事件触发型ActiveX放置在网页中的…

最近一B/S项目中频繁用到指纹扫描登记及比对功能。指纹相关功能早已成熟,相关硬件厂家也把扫描、比对等功能做成了ActiveX控件,要置入B/S系统中,也只要使用其提供的ActiveX控件就可以了。

我使用的是中控URU4000B,其提供了一ActiveX控件,biokey.ocx。这个控件有个特点,其功能实现是事件触发型的,如:在指纹登记时,先调用一个函数进入登记状态,之后如果有合格指纹按压动作,就会触发一个事件,告之指纹登记已经完成。且如果在一个窗口内有多个控件,只有其中一个控件实例会收到这个事件。

但实际的功能要求在一个页面内有多个人的指纹登记及比对,比如登记了产权人的还要登记共有人的。有些功能界面情况还是有Iframe,在Iframe里有指纹登记的,在Iframe容器外也要指纹登记。如果直接在页面内放置多个Object对象,或在每个页面里都放置一个Object对象,则按压指纹触发的事件完全不知道会反应到哪个页面的哪个控件上。因此实现上要求只能整个窗口内只有一个Object,这样可以确保当前事件都反馈到确定的控件及处理脚本上。

 

可以采取的思路是,使用一段javascript脚本向页面内注册Object元素及事件处理脚本,这段脚本中找到最上层的window对象,然后在这个window对象的Document里加入Object元素及事件处理脚本。各页面在调用功能的时候,相应地把自己所在的window对象及控件ID赋值给顶层window的变量中(如window.targetWin),方便在事件处理中通过顶层window.targetWin来访问实际调用功能的控件。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值