【问题标题】:Typing inside a text input is extremely slow on iPad mini with iOS8 Mobile Safari and Safari 8在带有 iOS8 Mobile Safari 和 Safari 8 的 iPad mini 上输入文本输入非常慢
【发布时间】:2014-09-19 10:19:47
【问题描述】:

在移动版 Safari(iOS 8.0 iPad Mini)中,网络的输入(我尝试过不同类型)似乎越多,“打字”的速度就越慢(我什至设法冻结了 safari 只是打字)。为了确保它不是键盘,我用 Swiftkey 进行了测试,但出现了同样的问题。使用 Swiftkey,输入速度很快,但文本在输入类型文本中插入速度很慢。

我创建了一个带有一些输入的jsFiddle,它真的很慢(就像地狱一样)。在这个小提琴中,我添加了一些带有很多“选项”标签的选择,因为我发现这会使情况变得更糟。我也尝试添加自动完成属性(设置为 false),但它似乎没有任何影响。

这或多或少是“有问题的”代码的样子:

<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="email" autocorrect="off" />
<select><!-- lots of "option" tags --></select>

现在奇怪的是:这不会发生在 iPhone 5S 上(没有在任何其他 iPad 上测试过)。

有人知道为什么会这样吗?或者如果它发生在任何其他设备上?

提前致谢。

【问题讨论】:

  • 在 iPhone 5 iOS 7.1.1 上测试一切正常...
  • 当您结束输入时,由于 safari 对事物非常敏感,为了保持良好的语法,请尝试在输入中添加结尾 />!。所以 举例
  • 嗨@ArmeniaH:事实上,我只能在 iOS 8 中重现这个,而且只有 iPad mini,在带有 iOS 8 的 iPhone 上它工作得很好。
  • 关于输入语法,@md_5 你是对的,我会检查一下,但我第一次看到这是在一个没有这么糟糕语法的网站上。但正如我所说,无论如何我都会检查它。
  • 正如预期的那样,关闭输入标签(实际上是 XHTML)的结果是一样的。

标签: html ipad mobile-safari ios8 ipad-mini


【解决方案1】:

与此问题相同:Why does Safari Mobile have trouble handling many input fields on iOS 8

一种解决方法是将每个输入元素包装在一个表单元素中,如下所示:

<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="email" autocorrect="off" /></form>

【讨论】:

  • 难以置信.. 看起来很丑,但它确实有效!非常感谢。无论如何,Apple 应该解决这个问题,因为这是一个糟糕的解决方法。
  • 嗨,即使在 Yosemite 10.10.x 上,我也看到某些网站(包括 Stackoverflow)存在大量延迟。我关闭了拼写检查,这有点帮助,但它的传播范围比 iOS 更广泛。
【解决方案2】:

为了让社区了解上下文:请您分享其中一个页面出现此问题的完整源代码吗?

如果您尝试在物理 iPad 上进行调试,我强烈建议您下载 Xcode 并打开 iPad 模拟器。从那里您可以查看控制台和各种其他调试工具。这应该会告诉您速度错误,并可能会提出解决方案。

【讨论】:

  • 嗨,我刚刚隔离了我遇到问题的上下文(iOS 8.0.2 仍然存在(仅适用于 iPad mini)。模拟器的行为不是这样,并且作为我说,我手头没有任何其他 iPad mini 可以测试。无论如何,我对 iPad 的错误日志进行了一些研究,但似乎没有任何记录,但 safari 本身的冻结。亲切的问候。
  • 我认为您错过了使用模拟器进行调试的要点。并不是说问题一定会出现在模拟器上(因为您使用的桌面通常具有更大的功能),而是您可以使用调试器查看抛出的任何错误,从而让您深入了解问题。如果问题出在您的应用程序上,那么您会在那里找到它。如果没有显示,您可能需要将其作为错误报告给 Apple。我认为 -1 投票不公平或不尊重。
  • 事实上我确实在模拟器上尝试过,没有显示错误,一切正常,没有奇怪的日志条目。那么我可能应该向 Apple 报告这个错误。 (仅供参考,我没有否决您的答案)。
  • 感谢您注意到您没有否决我的回答。 Apple 有一个很好的报告错误的结构,所以一定要包括你的物理 iPad 型号和完整的 iOS 版本,这对你来说应该是一个很好的下一步。
猜你喜欢
  • 2017-01-22
  • 2015-01-16
  • 1970-01-01
  • 1970-01-01
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
相关资源
最近更新 更多