yan*_*vsh 7 javascript browser barcode barcode-scanner
我正在尝试将一些条形码扫描到我的浏览器中包含的文本字段,但它会在任何浏览器(chrome、firefox,即)中打开下载页面。我猜测有一些相当于 CTRL + J 的输入会触发浏览器打开下载页面。
有人遇到过这个问题吗?有没有办法通过它(假设我的客户不能更改他们的扫描仪配置,也不能更改浏览器配置)?
谢谢。
Mus*_*bir 10
虽然发布答案为时已晚,但我希望这对将来的人有所帮助。
问题是由条形码阅读器发送的结束字符引起的。我的条码阅读器的默认设置是CR+LF输入后发送。不幸的是,这会在 chrome 中打开下载页面。对此的修复非常简单,而不是配置扫描仪本身(这可能很棘手),您可以将以下脚本添加到您的页面以忽略从条形码扫描仪发送的结束字符:
<script>
document.addEventListener('keydown', function(event) {
if( event.keyCode == 13 || event.keyCode == 17 || event.keyCode == 74 )
event.preventDefault();
});
</script>
Run Code Online (Sandbox Code Playgroud)
chrome 还为此打开了一个旧错误,但已关闭/未解决,因为这不是错误,而是更多的输入配置问题。
您必须设置扫描仪。
Ctrl-J = 0x0A = Linefeed for Unix-like Systems
Run Code Online (Sandbox Code Playgroud)
检查您的扫描仪型号的手册。通常,您可以找到一些可以更改您的设置的条形码,或者更改您的驱动程序,或者您的驱动程序中有相应的设置。