是想找时间写点什么,却总是拖拖拉拉一直没能写些。今天要写的这点东西是后补在4月份的。
前段时间工作中接触了我们常见的超市扫码器,我接手了这块的开发,除了后台的验证等操作,感觉新奇的就是前台html接受扫码器所输入的条形码值。
没接触过的时候或许觉得挺难以理解的,也不知道他的实现原理。真正接手试验后才发现,并没有想象的那么麻烦,因为读取条形码的过程不需要我们参与,那些已经嵌入到了扫码器中。我们可以简单的将扫码过程理解成:连续按下了键盘上对应的键盘,输入了一串对应键盘的一别编码,然后最后跟着一个13,代表着回车结束输入。
逻辑分析:
<1> 14位条形码(读取过程中会自动添加回车符1位),也就是网页需要监听扫码器输入的每一个值,将其累加起来,当达到15位时,判断第15位是否为13,即回车。
<2> 当然还要屏蔽人为输入行为,怎么判断人为和扫码器的输入呢?最终在输入速度上作为判断依据。认为输入的速度必定是慢的,机器输入的速度还是比极快的。所以采用定义setInterval(),来进行对字符串的间断性清空。
var inStr = "";
//定时清空操作
function clearStr(){
inStr = "";
}
$(document).ready(function(){
//定义清空字符串的间隔时间
var INTER_TIME = 500;
//定义setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
//setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
var int=self.setInterval("clearStr()",INTER_TIME)
document.onkeydown = kdown;
function kdown(e) {
var realkey = String.fromCharCode(event.keyCode);
inStr = inStr + realkey;
//
if(inStr.length == 15 && event.keyCode == '13'){
//提交获取的字符串
barCodeSubmit(inStr);
inStr = "";
}
}
});
laiyuan:http://chenzhiguo.cn/archives/jquery_barcode
分享到:
相关推荐
PHP jquery微信扫码支付Demo,js php版,文件说明: index.php----前端生成二维码页面,通过post请求code_url.php code_url.php----向微信后台发送数据,并获得微信后台返回的code_url,再将code_url返回给前端...
spring boot+jquery+java实现扫码登陆
jQuery扫码:手机号码登录框切换代码,jQuery扫码:手机号码登录框切换代码
基于jQuery的扫码枪监听。如果只是想实现监听获取条码扫码信息,可以直接拿来使用,如果有更多的条码判断处理逻辑需要自己扩展哦
jQuery点击弹出支付宝微信二维码扫码打赏
亲测可用,手机页面扫码并识别二维码的js,里面有使用说明,其实很简单,打开摄像头扫码,用..._qrcode(...) ,关闭用..._qrcode_stop(),在使用过程中如有疑问可以联系我,qq:66128912, 亲测可用,在生产制造软件中常用,省去...
jquery.qrcode.js下载以及扫码登录实现,jquery.qrcode.js下载以及扫码登录实现,jquery.qrcode.js下载以及扫码登录实现
仿淘宝网、阿里云登录界面的静态界面,采用密码输入和扫码切换登录方式,模板内涵CSS,使用jquery方式实现切换,纯粹的切换界面。
jQuery可拖动的弹出扫码登录窗口特效源码下载
主要介绍了jQuery实现“扫码阅读”功能方法的相关资料,需要的朋友可以参考下
jQuery文章二维码扫码打赏功能代码是一款点击打赏按钮,弹出二维码页面,微信与支付宝支付二维码扫描打赏。
jQuery实现文章二维码扫码打赏功能特效源码.zip
微信扫码后台登录界面模板,微信扫码登录和用户名密码表单两种登录界面切换,用户名密码登录表单有简单验证功能。
jQuery微信支付宝扫二维码打赏,支付宝和微信打赏,演示地址:http://www.0cha.com/57.html
jQuery生成微信二维码名片扫码添加联系人代码,可以设置联系人姓名,公司,职务,地址,手机,邮箱,网址,备注信息生成二维码。
微信扫码登录,引用jquery.qrcode.min.js生成二维码,包括js下载
2个项目目录,都引入,把zxing当作库引入到mylchscm里,mylchscm就能运行了,生成的apk不用单装zxing,基本上没做什么功能,就是把架子搭好了,能扫码,能正确得到返回值,要实现什么功能就自己写js去吧。...