iOS8和Safari不再使用蓝牙扫描仪

时间:2014-10-23 20:45:45

标签: ios ipad ios8 mobile-safari

我有一个使用蓝牙Opticon扫描仪(http://www.opticonusa.com/products/companion-scanners

的网络应用程序

用户点击一个字段并扫描一个条形码,然后该应用程序会对其进行处理。

在iOS7和Safari下运行良好。

不再适用于iOS8和Safari。在扫描时,它经常(但不总是)从最后几个字符中掉落。它下降的字符数似乎有点随机。有时它确实有效。很奇怪。

我去了其他网站 - yahoo.com,google.com并扫描到他们的搜索框中。表现出同样的行为。所以它并不特定于我的网络应用程序。

扫描到NotePad或电子邮件始终有效。那不是问题。就在Safari中。

但这是最奇怪的事情。我们打电话给扫描仪公司,他们说这是一个特定于Safari的问题。他们无能为力。他们说下载Chrome。

果然 - 它在iPad上的Chrome中运行得非常完美!我想做的最后一件事是告诉我的用户群下载Chrome。 :(

有没有人见过这样的东西?任何信息或想法?我认为iOS上的其他网络浏览器无论如何都包装了Safari引擎,所以我甚至不知道差异是什么。

有关此的任何信息将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:1)

这是Safari中潜在错误的症状(仅限iOS 8)。我在HID模式下使用蓝牙条码扫描器时遇到了这个问题。使用Notes应用程序,我可以非常快速地扫描,没有跳过/截断的字符。在Safari中,在最简单的Web表单中,使用单个输入文本字段或textarea,字符跳过/截断是间歇性的。这不是条形码扫描仪特有的。您可以使用任何蓝牙键盘重现相同的问题,如果您可以输入足够快但准确,那么您就知道它正在跳过/截断。如果有人认为我忽视了某些事情,请加入!

我的发现:

我刚刚在iPad Air上安装了iOS 8.2测试版,但问题仍然存在。 只有在HID模式下配对的蓝牙键盘才会出现这种情况。 我在扫描时跟踪键盘事件,这是我发现的。 textinput事件将触发前几个字符,但不会触发其余字符。所以我试着扫描这段文字:LOT00002。但是省略了“T”和“2”,因为在按键事件之后TEXTINPUT事件没有触发。 见粗线......

keydown keyCode = 76(L)= 76(L)charCode = 0

keypress keyCode = 76(L)= 76(L)charCode = 76(L)

textInput data = L

keyup keyCode = 0,其中= 0 charCode = 0

keydown keyCode = 79(O)= 79(O)charCode = 0

keypress keyCode = 79(O)= 79(O)charCode = 79(O)

keyup keyCode = 0,其中= 0 charCode = 0

textInput data = O

keydown keyCode = 84(T)= 84(T)charCode = 0

keypress keyCode = 84(T)= 84(T)charCode = 84(T)

keyup keyCode = 0,其中= 0 charCode = 0

[MISSING textInput event]

keydown keyCode = 48(0),其中= 48(0)charCode = 0

keypress keyCode = 48(0)= 48(0)charCode = 48(0)

textInput data = 0

keyup keyCode = 0,其中= 0 charCode = 0

keydown keyCode = 48(0),其中= 48(0)charCode = 0

keypress keyCode = 48(0)= 48(0)charCode = 48(0)

keyup keyCode = 0,其中= 0 charCode = 0

textInput data = 0

keydown keyCode = 48(0),其中= 48(0)charCode = 0

keypress keyCode = 48(0)= 48(0)charCode = 48(0)

textInput data = 0

keyup keyCode = 0,其中= 0 charCode = 0

keydown keyCode = 48(0),其中= 48(0)charCode = 0

keypress keyCode = 48(0)= 48(0)charCode = 48(0)

textInput data = 0

keyup keyCode = 0,其中= 0 charCode = 0

keydown keyCode = 50(2)= 50(2)charCode = 0

keypress keyCode = 50(2)= 50(2)charCode = 50(2)

keyup keyCode = 0,其中= 0 charCode = 0

[MISSING textInput event]

keydown keyCode = 13 = 13 charCode = 0

keypress keyCode = 13 = 13 charCode = 13

keyup keyCode = 0,其中= 0 charCode = 0

答案 1 :(得分:1)

使用Socket CHS 7Mi扫描仪的问题直到iOS版本8.2。

随着8.3的更新,这似乎已经解决了。