一、限制
受浏览器的安全规则限制,JavaScript代码并不能直接访问硬件资源。
采集指纹需要访问指纹仪外设,JavaScript本身已经无能为力。
二、解决方案
需要借助于浏览器插件、浏览器扩展或者第三方的服务来间接访问指纹仪。
浏览器插件:在老版本的IE、Chrome等浏览器都支持插件,新版本的Chrome浏览器已经不支持插件。
浏览器扩展:Chrome扩展可以做到浏览器插件的事情,同时也更加安全、灵活、开发也更加方便。
第三方服务:可以是系统服务,如Windows系统服务、Linux系统服务。
三、实现方案
如果采用系统服务,则可以这样来设计架构:
1、搭建一个系统服务,负责接收来自JavaScript的请求,同时访问指纹仪外设;
2、封装访问系统服务的接口,给上层的JavaScript应用提供开发包;
3、上层应用调用JavaScript指纹开发包完成功能开发。
注意:JavaScript与系统服务的通讯,可以多种,推荐使用HTTP和Websocket两种
下图是架构示意图:
四、代码实例
下面是采集指纹的demo: