iOS8和Safari与蓝牙扫描仪不再兼容。

4

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

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

iOS7和Safari下工作得很好。

iOS8和Safari下不再工作。扫描时经常(但不总是)掉落最后几个字符。它丢失的字符数量似乎有些随机。有时它可以正常工作。非常奇怪。

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

在记事本或电子邮件中扫描总是有效的。在Safari中没有问题。

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

确实-在iPad上的Chrome中它完美地工作!我最不想做的就是告诉我的用户群体下载Chrome。:(

有人见过类似的情况吗?有什么信息或想法吗?我以为iOS上的其他Web浏览器只是将Safari引擎包装起来,所以我甚至不知道差异在哪里。

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

谢谢!


iOS8中的字段似乎存在许多错误。你看过这些链接吗?https://dev59.com/6F8e5IYBdhLWcg3wCW12 http://www.applevis.com/blog/advocacy-apple-braille-ios-news/accessibility-bugs-ios-8-serious-minor 我认为蓝牙键盘错误可能是最适用的。我们在非iOS设备上使用条形码扫描仪,它显示为键盘,因此我假设蓝牙扫描仪显示为具有与蓝牙键盘相同问题的键盘(丢失字符)。 - Patrick Sawyer
2个回答

1
这是Safari中的潜在bug症状(仅限iOS 8)。我第一次遇到这个问题是在使用蓝牙条形码扫描仪进行HID模式时。使用“笔记”应用程序,我可以快速扫描,没有跳过/截断任何字符。在Safari中,在最简单的Web表单中,有一个单个输入文本字段或文本区域,字符跳过/截断是间歇性的。这不是针对条形码扫描仪的特定情况。如果您可以快速而准确地输入,以便知道它是跳过/截断,那么您可以使用任何蓝牙键盘重现相同的问题。如果有人认为我忽视了什么,请发言!
我的发现:
我刚刚在我的iPad Air上安装了iOS 8.2 beta,问题仍然存在。 这仅适用于HID模式下配对的蓝牙键盘。 我在扫描时跟踪键盘事件,以下是我的发现。 textinput事件会在前几个字符后触发,但不会在其余字符后触发。因此,我尝试扫描此文本:LOT00002。但是“T”和“2”被省略了,因为TEXTINPUT事件在keypress事件之后没有触发。看粗体行...
keydown keyCode = 76(L)which = 76(L)charCode = 0

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

textInput data=L

keyup keyCode=0 which=0 charCode=0

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

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

keyup keyCode=0 which=0 charCode=0

textInput data=O

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

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

keyup keyCode=0 which=0 charCode=0

[缺少 textInput 事件]

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

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

textInput data=0

keyup keyCode=0 which=0 charCode=0

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

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

keyup keyCode=0 which=0 charCode=0

textInput data=0

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

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

textInput data=0

keyup keyCode=0 which=0 charCode=0

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

按键事件 keyCode=48 (0) which=48 (0) charCode=48 (0)

文本输入事件 data=0

键盘抬起事件 keyCode=0 which=0 charCode=0

按键按下事件 keyCode=50 (2) which=50 (2) charCode=0

按键事件 keyCode=50 (2) which=50 (2) charCode=50 (2)

键盘抬起事件 keyCode=0 which=0 charCode=0

[缺失的文本输入事件]

按键按下事件 keyCode=13 which=13 charCode=0

按键事件 keyCode=13 which=13 charCode=13

键盘抬起事件 keyCode=0 which=0 charCode=0


看起来这个问题在iOS10中又出现了。 - David Leedy

1

我曾经遇到了Socket CHS 7Mi扫描仪在iOS 8.2版本上的问题。

但是,升级到8.3版本后,这个问题似乎已经解决了。


看起来这个问题在ios10中又出现了。 - David Leedy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接