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

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

用户点击一个字段,扫描条形码,然后该应用程序做它的东西。

在iOS7和Safari下工作很棒。

不再适用于iOS8和Safari。 经常扫描(但不总是)从最后几个字符。 它掉落的字符数量似乎有些随意。 有时它确实有用。 很奇怪。

我去了其他网站 – yahoo.com,google.com和扫描到他们的search框。 performance出相同的行为。 所以这不是特定于我的Web应用程序。

扫描到记事本或电子邮件总是工作。 那里没有问题。 只是在Safari。

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

果然 – 它在iPad上的Chrome浏览器中非常完美! 我想要做的最后一件事是告诉我的用户群下载Chrome。 🙁

有没有人看过像这样的东西? 任何信息或想法? 我以为iOS上的其他网页浏览器只是包装了Safari引擎,所以我甚至不知道有什么区别。

任何信息,将不胜感激。

谢谢!

有一个套接字CHS 7Mi扫描仪的问题,直到版本8.2的iOS。

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

这是Safari中潜在错误的症状(仅适用于iOS 8)。 在HID模式下使用蓝牙条形码扫描器时,我第一次遇到这个问题。 使用Notes应用程序,我可以非常快地扫描,没有字符跳过/截断。 在Safari中,在最简单的web表单中,只有一个input文本字段或textarea,字符跳过/截断是间歇性的。 这不是特定于条形码扫描仪。 你可以重现与任何蓝牙键盘相同的问题,如果你可以input足够快,但准确,所以你知道它跳过/截断。 如果有人认为我在眺望什么东西,请加上!

我的发现:

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

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

按键代码= 76(L)其中= 76(L)charCode = 76(L)

textInput数据= L

keyup keyCode = 0 which = 0 charCode = 0

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

按键keyCode = 79(0)其中= 79(0)charCode = 79(0)

keyup keyCode = 0 which = 0 charCode = 0

textInput数据= O

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

按键代码= 84(T)其中= 84(T)charCode = 84(T)

keyup keyCode = 0 which = 0 charCode = 0

[MISSING textInput event]

keydown keyCode = 48(0)which = 48(0)charCode = 0

按键keyCode = 48(0)其中= 48(0)charCode = 48(0)

textInput数据= 0

keyup keyCode = 0 which = 0 charCode = 0

keydown keyCode = 48(0)which = 48(0)charCode = 0

按键keyCode = 48(0)其中= 48(0)charCode = 48(0)

keyup keyCode = 0 which = 0 charCode = 0

textInput数据= 0

keydown keyCode = 48(0)which = 48(0)charCode = 0

按键keyCode = 48(0)其中= 48(0)charCode = 48(0)

textInput数据= 0

keyup keyCode = 0 which = 0 charCode = 0

keydown keyCode = 48(0)which = 48(0)charCode = 0

按键keyCode = 48(0)其中= 48(0)charCode = 48(0)

textInput数据= 0

keyup keyCode = 0 which = 0 charCode = 0

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

按键代码= 50(2)其中= 50(2)charCode = 50(2)

keyup keyCode = 0 which = 0 charCode = 0

[MISSING textInput event]

keydown keyCode = 13 which = 13 charCode = 0

keypress keyCode = 13 which = 13 charCode = 13

keyup keyCode = 0 which = 0 charCode = 0