【问题标题】:Can flash actionscript detect which device is typing?flash actionscript 可以检测到哪个设备正在输入吗?
【发布时间】:2012-12-14 18:46:10
【问题描述】:

我正在为我的商店构建一个小型网络应用程序数据库,通过条形码扫描仪跟踪我的库存和员工。

我已经完成了所有工作,但是在我使用数据库搜索数字等之后,扫描仪输入框没有焦点。

我有一些预防措施,如$('#Barcode_box').focus(); 在单击不需要交互的任何内容(即不是输入框)和如果鼠标在这么多分钟/秒内不活动时启动的计时器(不理想)。但这仍然不是故障保险!

我知道网页上的 flash 可以访问网络摄像头和麦克风,我知道如何调用 javascript 函数或让 java-s 从网页调用其函数。

但我想知道条形码扫描仪有效地输入和返回(ascii 13)实际上有什么方法可以检测到什么设备正在输入或向客户端机器发送信号?

我尝试过用谷歌搜索很多不同的东西,即使是任何可以直接监听 Bcode 扫描器的 com 端口以获取输入并直接发布到盒子的 as3 代码,但无济于事。

非常感谢任何帮助。我正在考虑可能有一个 Flash 击键监听器,但感觉这可能有点重。

哦,这是在运行 wamp 的内部网络上。

我也确实遇到过这个USB device detection using actionscript 3 from flash

【问题讨论】:

  • chrome 和 opera 在我粘贴时似乎触发了window.onpaste。我确实专注于浏览器窗口,但不是任何表单元素。也许您可以查看事件目标元素以查看粘贴是否针对用户字段。编辑-我假设条形码扫描仪粘贴数据。
  • 听起来您的条码扫描仪输入的文本与您或我在字段中输入的内容没有什么不同。这是我的长期说法,不要担心谁在输入文本,并尝试找出为什么你会遇到焦点问题。如果您手动输入数据,是否会出现与焦点相同的问题?如果不是,你能解释一下这两种情况有什么不同吗?除了有些笨拙之外,您当前的工作还有哪些问题?
  • 感谢 cmets,我打字和条形码打字的区别在于,如果我在电脑上并且输入框没有焦点,我会单击框以聚焦并开始输入扫描仪只在焦点所在的地方打字。因此,例如,如果我在数据库中添加一个新员工,并在另一位员工在建筑物中扫描时输入他们的姓名,它会在那个框中输入这个而不是条形码。如果 flash 可以知道正在输入什么设备,它可以调用 js func 来关注框,如果它是发送信号的扫描仪!我的解决方法并不是真正的故障安全。
  • 我在 adobes 网站上发现了一些关于 gamerinput 的内容,flash/air 可以找到并确定游戏杆和控制器等输入设备!这可能对我有一些帮助,但它确实提到了一些关于电视的东西???我会进一步调查。

标签: jquery actionscript-3 flash web-applications barcode-scanner


【解决方案1】:

我现在能想到的最好的解决方案是一个 jquery:

$("body").click(function(e) {
if($('input:not(#Barcode)').is(":focus")){}
else{
$('#Barcode').focus();}

});

经过几分钟的测试似乎可以正常工作......

编辑: 以防万一有人从 g 搜索中遇到此问题,代码会说:当用户单击任何内容时 -> 如果它没有专注于输入,则将焦点设置为条形码条目。

我也可以尝试一个按键监听器,只是为了更加确定!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多