扫码枪踩坑指南

本文是关于扫码枪在前端应用中的踩坑指南,主要涉及控制台输入法研究和隐藏密码输入框的使用测试。在英文输入法下,扫码枪能准确识别字母和数字,但中文输入法下可能出现问题。建议使用英文输入法或隐藏的密码输入框,以确保扫码准确性。
摘要由CSDN通过智能技术生成


前言

提示:这里可以添加本文要记录的大概内容:

仓储、收银、快递等方面扫码枪都应用的非常广泛,所以也来尝试接入一下扫码枪,这篇文章是接入成功后的踩坑指南

一、控制台输入法研究

1、英文输入法下,在控制台识别字母+中文+数字

在这里插入图片描述
结果:扫码枪完美识别。

2、中文输入法下,在控制台识别字母+中文+数字

在这里插入图片描述
结果:字母识别异常。

3、结语

综合1和2,最省心的办法就是二维码内容只有字符和数字,那就万无一失,或者每次扫码前确认输入法是英文(扫码枪设置使用虚拟键盘,不然识别到汉字后电脑输入法可能会自动变为中文输入法)。这样在保证需要扫码枪的页面没有输入框,就可以写一个看不见的输入框,在扫码时自动获取焦点,之后直接取输入框的值就行,当然扫码结束后要清空隐藏输入框内容。

当然实际情况可能需要识别一些字母,而且页面也会有别的输入框,比如数量调整什么的。在不需要扫码汉字的需求下,为解决中文输入法的问题,使用隐藏的密码输入框,以防止识别字母输入汉字。

二、隐藏的密码输入框使用测试

1、英文输入法下,测试Demo页面识别字母大小写+数字

在这里插入图片描述
结果:可以正确区分大小写,识别出扫码内容为%HelloKitty123

2、中文输入法下,测试Demo页面识别字母大小写+数字

在这里插入图片描述
结果:字母的键盘事件key都被识别为Process,所以识别结果取的键盘事件返回的code的最后一位,最终大小写都被识别为大写

3、结语

综合上面的测试结果,测试Demo中扫码枪识别的二维码内容不能有汉字,字母应该统一大小写,才能保证扫码枪识别结果的准确性。
Demo代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>扫码枪接入</title>
</head>

<body>
    <input class="other oo" >
    <script>
        /**
         * 扫描枪工具类
         */
        var ScanCodeUtil = {
   
            keys: [],
            code: null,
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值