问题描述
最近有个考勤管理的项目,项目要求在添加员工信息的时候,基础信息要通过外接设备读取身份证获取,不能手动填写。(当然是B/S端的)本来设备厂商提供了开发文档和开发包。具体的功能也基本上实现了。可是现在我遇到一个很头疼的问题,厂商提供的Web开发时采用ActiveX控件的形式获取本地数据,众所周知,ActiveX是微软的东西,非IE内核的浏览器都不支持。老大又要考虑各种浏览器的兼容性。我盲目了。在网上找了很多资料,然而没有卵用。要不就是过时,要么就是看不懂的。来个大神,大腿借我抱抱。嘻嘻....我想过的解决办法1、找插件,让非IE内核浏览器,通过插件去联系蛋疼的ActiveX控件,后来考虑插件安装麻烦,到时候客户用的时候还不知道出什么问题。(放弃)2、采用silverligh5{首先想到是,用1、生成一个silverlight组件,在里面嵌入一个html网页,在网页中加载ActiveX控件。(结果是,非IE不支持。)2、放弃ActiveX,手写Silverlight(没思路,而且不知道这种方法,到底行不行,求大神指点迷津)}HELP!Help!help!
解决方案
解决方案二:
大神啊,大神啊,你在哪里啊。坐等上热门。
解决方案三:
既然是添加员工信息,那么就不是每个人都会涉及到的权限,让要添加的人下个你编写的cs安装自运行/然后cs和bs通过websocket/socket/tcp交互或者其他api
解决方案四:
不要再加C/S程序。有没有其他什么很好的方式。
解决方案五:
不加c/s没办法的啊,activex只有浏览器可以,要么你用flash,上传图片什么的倒不是问题
解决方案六:
给你一个办法,你不要在浏览器插件上动脑筋,换个思路。用.net写个服务,读取设备数据,这个我相信SDK有现成的,然后服务提供一个本地固定的访问路径http://localhost:12345可供访问json数据,浏览器通过js向该地址轮询请求,1秒一次就可以了,服务无需什么数据库,缓存或一个静态变量保存就行,一但有数据且被请求,则将数据组织成json数据输出,同时将缓存数据清空。这样就无关什么核心的浏览器了。
解决方案七:
引用楼主qq_21188321的回复:
最近有个考勤管理的项目,项目要求在添加员工信息的时候,基础信息要通过外接设备读取身份证获取,不能手动填写。(当然是B/S端的)本来设备厂商提供了开发文档和开发包。具体的功能也基本上实现了。可是现在我遇到一个很头疼的问题,厂商提供的Web开发时采用ActiveX控件的形式获取本地数据,众所周知,ActiveX是微软的东西,非IE内核的浏览器都不支持。老大又要考虑各种浏览器的兼容性。我盲目了。
请先说明一下“老大”是有没有开发背景。对于你来说,你可以坚持ActiveX。别的不用跟他多说,除非他告诉你应该怎样做。
解决方案八:
这种东西强制他们使用IE又能怎样?而且又不是每个人都有读卡器毕竟少数而已....没什么的.
解决方案九:
而且这读卡器是插在本地的..所以服务器什么的根本帮不上什么忙.而且还得需要一大堆驱动之类的...activx就是最好的解决方案了...
解决方案十:
任何一种方法,都离不开传统桌面模式代码,只不过是打包发布方式不同。例如ActiveX是可以打包为CAB用网页部署、网页调用其UI部分的,你也可以编写某一种桌面程序(例如糊弄用户说是什么“csdn应用程序案例”)让用户安装,然后在任意页面使用urlprotocol方式调用它(可惜这不是双向通讯的)。等等方式,这方面任何东西都离不开c/s基础。在7、8年前,以乔布斯为首、鲍尔默跟班的一帮人,誓把Flash整垮,或者鼓吹什么“用浏览器当操作系统”。以至于微软的silverlight反而先倒霉了。结果呢?chome浏览器是禁用了ActiveX插件,可是它搞出了它自己的插件接口,它说到底还是要用插件的。而手机浏览器更不用多说了,天生地就是有着标准的与操作系统api和插件的接口的,没有它也就谈不上流行的Hybride技术了。很多人都以为在pc上将消灭浏览器插件。那是几年前,乔布斯临死之前最主要的一件事,谷歌则是继承者,目的都很明显,都是用针对“草根”的需求而开发的,而不是针对企业的需求来开发的。如果你不能做50万元的企业软件,那么就做草根的3元5元的软件吧。
解决方案十一:
引用楼主qq_21188321的回复:
1、找插件,让非IE内核浏览器,通过插件去联系蛋疼的ActiveX控件,
我猜你没有真正用过ActiveX控件。ie、firefox、opera等等浏览器上的代码使用ActiveX控件都不需要再去搞另外什么插件去“联系”了。ActiveX控件本身“就是”插件。