JavaScript监控扫码枪,并获取扫码枪扫描后的编码

//监听扫码枪
function ListenScanCodeGun() {
    var barCode = '';
    var lastTime = 0;
    function ClearBarCode() {
        barCode = '';
        lastTime = 0;
    }
    window.addEventListener('keypress', function (e) {
        console.log("监听开始");
        e = e || window.event;
        var currCode = e.keyCode || e.which || e.charCode;
        var currTime = new Date().getTime();
        if (lastTime > 0) {
            if (currTime - lastTime <= 100) {
                barCode += String.fromCharCode(currCode);
            }
            else if (currTime - lastTime > 500) {
                // 输入间隔500毫秒清空
                ClearBarCode();
            }
        }
        else  // 第一次按键
        {
            barCode = String.fromCharCode(currCode);
        }
        lastTime = currTime;

        if (currCode == 13)  // 回车
        {
            if (barCode && barCode.length >= 8) {
                // 这里得到码,做下一步业务处理
                console.log("最终编号:" + barCode);
            }
            // 回车输入后清空
            ClearBarCode();
        }
    });
}

上面currTime - lastTime <= 100里的100毫秒根据你的扫码枪实际情况进行调整,barCode && barCode.length >= 8里的8位数根据你的业务编码规则进行调整。