前端扫码枪扫码功能坑点集锦

1.扫码枪无法识别中文问题

扫码枪扫描二维码输出不识别中文,跟输入法有关。
解决方案1
当输入法为中文时无法识别中文,改为英文即可识别。需要手动更改输入法,不太人性化。
解决方案2
将页面接收数据的输入框改为密码框,完美解决。改为密码框会引起扫码后带出账号密码下拉框的情况。这个原因解决方法很多,可以js动态生成和隐藏解决也可以直接在接收数据后隐藏输入框等

2.扫码枪在不同浏览器版本中不触发enter事件问题

在某些浏览器版本中,即使扫码枪设置了enter事件但是最后一次也不会触发enter事件。
解决方案
可以改为keyup事件 然后将接收的数据默认以 {ID:11} 格式判断 ‘}’ 符号对应的码值执行 js

3.接收二维码内容输入框设置autofocus属性在某些浏览器版本生效

在某些浏览器中会出现接收二维码内容的输入框即使设置autofocus,属性但是却没生效导致input输入框 focus事件 blur事件,不能触发无法聚焦获取不到扫码内容。
解决方案
在登录页面后用js手动添加,接收二维码内容输入框元素的autofocus属性即可

4.将页面接收数据的输入框改为密码框后续问题

每次登录页面后进入的第一个带有输入框的界面会自动填充账号或者密码
解决方案
在接收二维码内容的输入框前面在加一个输入框,宽高设置为0即可解决

猜你喜欢

转载自blog.csdn.net/dzhi1931/article/details/109226147