javascript - Angular 2 - 在不使用 HTML 输入/文本区域的情况下获取条形码扫描器数据

标签 javascript html angular barcode

我正在创建使用条形码扫描器的网络应用程序(在我的例子中是摩托罗拉 TC55)。

我的目标是在不使用 HTML 输入/文本区域的情况下扫描产品 EAN。为什么?因为我想防止在移动设备上弹出键盘。这个字段也应该可以在桌面上使用(没有连接扫描仪 - 从键盘输入数据)。

我尝试过的:

  1. 在输入上设置 readonly/disabled 属性 - 移动键盘已隐藏,但我无法在此输入上设置焦点。
  2. 使用 contenteditable 指令创建 div - 键盘可见。
  3. 最后(迄今为止最复杂的)- 使用 onClick 事件创建 div。单击 div 后,我开始收听 keypress 并保存所有内容,直到按下 Enter 键。它在桌面上运行良好。移动键盘是隐藏的,但 keypress 事件仅在扫描结束时触发(Enter 键)。

还有什么建议吗?

最佳答案

免责声明:我为 Zebra Technologies 工作

因为你正在处理 Motorola (now Zebra Technologies) TC55 ,您有不同的选择。

最简单的是使用类似 Zebra's Enterprise Browser 的东西,它需要许可证,但它包含一些额外的 API,允许控制设备的额外硬件。特别是你有一个 Barcode API使您可以完全控制集成的条码扫描器。

如果您更喜欢使用需要更多手持的东西,您可以看看 this blog post that explain how to bridge between DataWedge (the application that on the Zebra Android devices is sending the barcode data as characters) and the Chrome Android Browser using WebSockets .

如果您有 TC55 的支持契约(Contract),您可以将您的设备更新到最新的安全更新和修复程序。您可以在 Zebra's Support Website 上找到更多信息.

关于javascript - Angular 2 - 在不使用 HTML 输入/文本区域的情况下获取条形码扫描器数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47939931/

相关文章:

javascript - 从 JSON 属性中删除双引号

javascript - Jquery-在句子中查找单词并添加跨度

html - 无法将 css 应用于两个不同的表

html - 如何在没有来源的情况下删除图像周围的边框?

angular2 异步表单验证

javascript - 如何选择表单字段的标签值

javascript - 使用 (number, number) 创建 javascript 对象

javascript - 如何使用 JavaScript 更改 HTML 元素的 CSS

angular - 如何将 i18n 翻译转换为 Angular CLI 附带的 index.html 文件?

javascript - ASP.NET Core Angular Spa 项目 JavaScriptServices 中没有 Guard 的提供程序