vueVueJS

vue中使用ocx

2018-10-30  本文已影响802人  风慕李

最近做了一个项目,需求是这样的:利用ocx实现指纹录入功能。
其实对于前台来说只是方法的调用,ocx里的GetFingerInfo会返回当前录入手指的信息,前台在将返回的信息作为参数值给后台即可。但难过的是就是这么个简单方法的调用,ocx指纹录入相关的demo页都可以执行这个方法,放到vue中,不管你是以组件形式还是网上所说的iframe形式,在控制台里永远都是报方法不存在,不知道有没有和我同样遭遇的码农,搜索了网上很多,发现每一个答案可以解决我的问题。

我们都知道在使用ocx的时候是需要注册的,(这个相关注册这里就不一一详解,网上还是很详细的)然后在通过标签<object id="ocx" classid="注册好后都会有对应的classid"></object>,使用的时候通过ocx.GetFingerInfo(idcard,fingerNum,timeout)即可。

但在vue中不仅仅是普通方式放入object标签,你需要做的是通过创建节点的方式,在你需要使用的.vue中,在mounted中将创建好的object标签添加到body里。

具体使用看下方代码截图:(因为我没有用jq,所以用的是原生js的方式进行节点的插入)


QQ20181204-134419@2x.png

创建节点方法:


4FC099F5-D7D2-453D-ADC1-64F11803928C.png

需要的页面使用:


CF2D0E2B-D046-4A4C-B159-EA6BBB28B0AF.png

其他的就是在需要调用ocx里的方法时,直接调用即可。有不明白的可以私信问我。

上一篇 下一篇

猜你喜欢

热点阅读