最近手上一个项目,健身场馆会员管理系统,新增加一个需求,希望客户一刷会员卡自动弹出会员的信息和预约的课程信息

读卡器就是市面上普通的ic卡或磁卡的读卡器,某宝上买的,厂家没有提供任何浏览器插件

机器拿到手上发现,一刷卡鼠标只要是可输入的状态立马就能输出会员卡的卡号,想到可能刷卡器是模拟的键盘操作

写了一段js代码测试了一下,发现果然是触发的键盘的数字键以及enter键,由于是机器操作,两次键盘事件触发的时间极短(至少比人快很多)

机器刷卡:

      

手动输入:

    

那么我们就可以利用人和机器的时间差,干点事情

测试代码如下

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"></head><body class="hold-transition login-page"><!-- 输入框 --><input type="text" name="" value="" autofocus></body><script>window.onload = function(e){code = ""; // 模拟输入的值var lastTime,nextTime;// 记录两次键盘的时间var lastCode,nextCode;// 两次键盘的键码值
            document.onkeypress = function(e) {// 监听键盘事件
                nextCode = e.which;// 当前的键码
                nextTime = new Date().getTime();// 当前的毫秒数
                console.log(nextCode,(nextTime - lastTime));if(nextCode >= 48 && nextCode <= 57){// 只关注数字键if(lastCode != null && lastTime != null && nextTime - lastTime <= 30) {// 相差30以内说明是机器刷卡
                       code += String.fromCharCode(lastCode);// 把键盘码返回为对应的值
                    } else {// 手动在输入
                       code = "";}// 当前的键盘码和时间作为下一次的上一次
                    lastCode = nextCode;lastTime = nextTime;}if(nextCode == 13){//enter键代表刷卡结束if(code && (nextTime - lastTime) <= 100){// 刷卡的卡号获取成功,且是机器触发的enter
                        code +=  String.fromCharCode(lastCode);window.location.href="http://www.baidu.com";}}}}</script>
</html>

转载于:https://www.cnblogs.com/yangfei123/p/10123312.html

web浏览器使用ic卡或磁卡读卡器自动弹出页面相关推荐

  1. 跨web浏览器的IC卡读卡器解决方案

    BS结构的程序,如果要与IC卡读卡器通信本身就是件不容易解决的事情.微软的activex ocx技术将这种应用限制在IE浏览器上了,不兼容其它的浏览器.而Chrome使用插件也不兼容IE和其他的浏览器 ...

  2. web端 刷卡器_在WEB浏览器使用IC卡读卡器的几种方案的对比

    随着现在BS结构的程序越来越多,在BS结构的web浏览器中使用IC卡读卡器也就变得更常见了.在web浏览器中集成IC卡读卡器目前有以下几种方案: 1.使用只读读卡器将IC卡的卡号输入到焦点处. 2.使 ...

  3. java做的web系统 m1 读卡器 结合_IE浏览器接入IC卡读写器实现M1卡的读写功能

    基于ActiveX技术的ocx控件是实现网页上读写 IC卡的一个比较不错的方法,因为ocx是com组件,通过其发布的接口,IE可以实现所有的功能.ActiveX不仅能适应大部分编程语言,做到与编程语言 ...

  4. 记录一下web端调用IC卡读卡器的大致流程

    总结一下web端IC卡读卡器的调用方法 公司项目中用到了IC卡,需要实现读写IC卡,并且与服务端交互.IC卡读卡器用的是德卡的D8型号,SDK可以在德卡官网找到,下载链接:德卡SDK下载. 官方提供了 ...

  5. web端 刷卡器_web开发与IC卡读卡器

    前段时间有个项目在客户端web下使用IC卡读卡器,试了很多种方案都觉得麻烦,最后在网上找了个现成的方案,采用了YW-605HA读卡器,厂家就不说了,免得说做广告.开发起来也挺简单. 他们将IC卡读卡器 ...

  6. web调用IC卡读卡器开发第四章--读写IC卡数据

    IC卡读卡器WEB读写IC卡数据 IC卡WEB读数据 IC卡网页自动读数据 IC卡网页写数据 采用友我科技IC卡读卡器web插件可以对普通IC卡进行读和写操作,根据实际业务需求,可以手动点击读写和在w ...

  7. web端 刷卡器_新品推荐:WEB端免开发IC卡读卡器

    新品推荐:WEB端免开发IC卡读卡器 为了解决IC卡读写器做WEB集成开发过程中的麻烦,建和诚达推出了一款网页版专业IC卡读卡器-WEB读卡器,可免除WEB开发使用IC卡读写器的麻烦,实现免驱动.免开 ...

  8. 在web浏览器中如何使用智能IC卡来登录系统

    在web浏览器中如何使用智能IC卡来登录系统呢? 在BS架构软件中,使用刷智能IC卡来登录系统,而不是输入用户名和密码,这样不仅快而且方便,让使用者有更好的体验.要实现这种功能,其实并不难.按照以下步 ...

  9. html实现读取读卡器,如何在web浏览器页面使用IC卡读卡器并且兼容所有浏览器

    随着H5技术的不断发展与推广,H5技术被广泛用于移动设备,PC终端等众多领域.同时,越来越多的应用都基于B/S(浏览器/服务器)模式,降低开发难度的同时还能更好的普及和应用,突破了硬件设备的兼容性问题 ...

最新文章

  1. partprobe源码分析
  2. NotFoundError: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for xxx
  3. Asp.net生成Excel文件并下载(解决使用迅雷下载页面而不是文件的问题)
  4. 机器学习笔记 soft-DTW(论文笔记 A differentiable loss function for time-series)
  5. Django之Cookie
  6. 开源备份web_13个开源备份解决方案
  7. sqlalchemy与mysql映射
  8. Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain
  9. 系统时间正常日志时间不正常
  10. 【实例】VBA excel 隔行插入行与列
  11. blender导入mmd的pmx模型进行额外建模后,导出pmx模型,出现材质缺失问题的解决方法
  12. linux配置163镜像,修改yum使用163开源镜像升级CentOS
  13. 使用wireshark找不到“捕获接口”问题的解决
  14. 系统设定工具与硬件侦测
  15. 如何从0到1设计业务系统
  16. java作业 实现模拟保皇开始的发牌环节
  17. L2-032 彩虹瓶 (25 分) (栈操作)
  18. 神舟八号安全着陆回家有感
  19. 老子、王阳明、曾国藩教你怎样做人做事!
  20. 5G商用大幕拉开 下一个风口:行业新应用、新业务或新商业模式?

热门文章

  1. Opencv全局二值化和局部二值化(python实现)
  2. 无法打开文件 opencv_world452d.lib
  3. 使用json、yaml、toml作为配置文件,你知道他们的区别吗
  4. 网卡,集线器,交换机,路由器,调制解调器
  5. M2det问题:win10运行错误总结
  6. 面试宝典-Mysql篇
  7. C++中记录并解析函数调用栈callstack
  8. 设计模式学习(三):Adapter适配器模式
  9. 《零基础安装 Oracle 数据库》单机系列 ③ 一键快速安装 Oracle 18C 数据库
  10. PAT乙级题解1008(超级详细分析,看完就懂)