html 生产后在电子应用程序中输入未收到条码扫描数据

html input not receiving barcode scanned data in electron app after production

我遇到了 条形码 扫描数据的问题。我正在创建一个应用程序,我需要将 条形码扫描数据放入 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);
  });

无法解决上述问题真是一场噩梦。但问题不在于电子本身。 应用程序“条码到 PC”是一个问题,仅 运行 作为管理员的“条码到 PC”就解决了这个问题。