【问题标题】:How to trigger / simulate barcode scan event?如何触发/模拟条码扫描事件?
【发布时间】:2021-08-12 13:20:39
【问题描述】:

我想解决我们产品中的一个错误,但我家里没有任何 Zebra 扫描仪。我们使用Vue Barcode Scanner plugin 来扫描条形码。 据我所知,典型的条码扫描看起来像大约 10 次带有数字的击键,然后是一个 TAB。所以我试着写一个像

这样的脚本
"12345678900    ".split('').forEach(c => document.dispatchEvent(new KeyboardEvent('keydown', {key: c})))

Aaaaa 不,这不会触发扫描事件。任何不同的想法,如何模拟扫描事件?

【问题讨论】:

  • 如果您分享初始化链接插件的方式和选项,可能有助于确认问题。
  • 这不一定与您的问题直接相关,而只是我对条形码的经验中的一个注释 - 某些条形码字体/语言需要在文本的任一侧带有 * 才能读取扫描。例如*12345678900*

标签: javascript vue.js dom-events barcode-scanner


【解决方案1】:

您链接的库在其最新迭代中明确指出专门侦听keypress 事件,而不是keydown。来自README:

更新

  • ...
  • 按键而不是按键 (0.2) 的侦听器

方法

初始化

Init 方法用于为扫描仪添加事件监听器(按键)。

我也通过阅读源代码证实了这一事实:

  • index.js:74 在 keypress 事件上显式添加事件侦听器。
  • index.js:184-189 过滤任何不是“控制字符”的keydown 事件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多