JS获取扫码设备的数据,并输出在页面
<html>
<body id="main">
</body>
</html>
<script>
window.onload = function () {
var html = "";
var code = "";
var lastTime, nextTime;
var lastCode, nextCode;
document.onkeypress = function (e) {
nextCode = e.which;
nextTime = new Date().getTime();
// 扫码器的录入速度远快过手动录入,两个字符间隔小于20MS判定录入设备为扫码器
if (lastCode != null && lastTime != null && nextTime - lastTime <= 20) {
code += String.fromCharCode(lastCode);
} else if (lastCode != null && lastTime != null && nextTime - lastTime > 100) {
code = "";
}
lastCode = nextCode;
lastTime = nextTime;
}
this.onkeypress = function (e) {
// 回车13
if (e.which == 13) {
html += "<p>" + code + "</p>";
document.getElementById("main").innerHTML = html;
code = "";
}
}
}
</script>
打开页面,扫描效果:
事实上在当前页用键盘录数据,同样可以录入,但是只会成功1-2个字符,因为按键弹起再按下再按回车键,间隔时间很容易超出20毫秒
完