最近在项目中经常碰到需要各类浏览器插件的情况。
比如身份证读卡器、电子签单、自定义检验码等浏览器插件。以前开发的b/s项目可能比较简单,大不了在IE上安装就是。但是随机IE的版本落后,需要考虑的浏览器兼容性越来越多,还有一些新增的功能用不上,比如Html5,所以我们现在开发的 b/s项目统一只在chrome下运行。
但同时也带来了一个问题就是,在34版本之后,这些插件都不能使用了。 NPAPI 不再被支持,全部使用了 PPAPI 模式开发
解决的办法有几种,一个做插件认证,开发符合 PPAPI 模式的插件,但dll相关的操作已经被大大限制。而且还需要通过C++再封装,增加了开发的难度。
我有另外一种思路,就是开发一个客户端工具,所有需要用到的插件都可以封装在这个客户端工具里,同时监听本地某个端口。
网页上利用Html5 的WebSocket功能,与本地交互。这样就很方便地达到我们想要实现的目的。
对于有界面的控件,也可以这样来实施,客户端工具接收到某个消息 之后,就弹出界面,确定之后返回消息 。
更多内容访问我的博客 http://4color.cn/archives/63