html输入在生产后未在电子应用程序中接收条形码扫描数据
Posted
技术标签:
【中文标题】html输入在生产后未在电子应用程序中接收条形码扫描数据【英文标题】:html input not receiving barcode scanned data in electron app after production 【发布时间】:2022-01-16 04:49:06 【问题描述】:我遇到了条形码扫描数据的问题。我正在创建一个应用程序,我需要将 条码扫描数据放入 HTML 输入元素。该应用在开发中工作,html 输入接收来自条形码的数据但在生产中,HTML 输入不接收数据。
注意:我正在使用barcode to pc app 进行测试。
代码如下:
HTML
<input name="barcode-data" class="barcode-data-input">
JS
const barcodeInput = document.querySelector('.barcode-data-input');
barcodeInput.focus();
let keyBreakTimer = null;
const notAllowedChars = [27, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 44, 19, 145, 45, 36, 33, 34, 35, 46, 144, 91, 16, 9, 20, 17, 18, 93, 8, 37, 39, 38, 40];
//maximum allowed duration between input change or keypress.
const keyWaitDuration = 500;
barcodeInput.addEventListener('keyup', (e) =>
if(e.keyCode === 13)
e.preventDefault();
if (notAllowedChars.indexOf(e.keyCode) > 0)
console.log('not allowed');
return;
clearTimeout(keyBreakTimer);
keyBreakTimer = setTimeout(generateQRCode, keyWaitDuration);
);
barcodeInput.addEventListener('keydown', (e) =>
if(e.keyCode === 13)
e.preventDefault();
//check if user pressed any functional key
if (notAllowedChars.indexOf(e.keyCode) > 0)
console.log('not allowed');
return;
clearTimeout(keyBreakTimer);
);
【问题讨论】:
条形码扫描仪充当键盘,所以代码没问题(扫描仪没有什么不同),您应该检查生产中的问题(可能是缓存或未上传资产),检查控制台并分享如果有一些有用的错误日志。 这是一个电子应用程序。我在生产中多次检查了控制台,但很清楚。电子应用程序未检测到生产中的条形码扫描仪。 我还用我之前开发的另一个电子应用程序检查了条形码阅读器,但同样的问题。 正如@John 所说,就大多数应用程序而言,条形码阅读器只是键盘。当您使用常规键盘输入条形码时,您的电子应用程序是否正常工作?条形码阅读器是否适用于非电子应用程序? 是的,当我使用普通键盘时,它也可以使用由电子制成的 vscode。它也适用于记事本等非电子应用程序。 【参考方案1】:没有解决上述问题的方法是一场噩梦。但问题不在于电子本身。 “Barcode to PC”应用程序有问题,只需以管理员身份运行“Barcode to PC”即可解决问题。
【讨论】:
以上是关于html输入在生产后未在电子应用程序中接收条形码扫描数据的主要内容,如果未能解决你的问题,请参考以下文章
Django 联系电子邮件表单未在模板 home.html 中呈现/显示