2011-06-02 50 views
2

与其他许多人一样,我决定通过HTML 5构建我的应用程序,并使用有限的本机代码(某些UI和某些内容)。但是,我遇到了与用户体验相关的关键问题。看起来,通过HTML 5创建的输入框和按钮在识别它们的点击事件时始终具有较长的滞后时间,然后是本地界面。iOS应用程序创建与HTML 5完全 - 输入滞后...可修复?

例如:

A键使用的UIButton和本地代码,当被按下时,会立即注册点击立即翻转我到下一个页面中创建。

但是......

通过HTML5在UIWebView的创建总是按钮有500-1500 MS注册点击...这将导致一个非常不连贯和分散的用户体验之前,滞后时间。

我的问题给你...有什么办法来解决这个问题,通过实际推动用户触摸事件更快,或甚至伪造它使看起来像HTML5输入框给予即时反馈?

非常感谢大家的帮助。 :)

+0

检查了这一点在Safari输入您使用在UIWebView中相同的URL。如果速度更快,那么UIWebView缺乏JIT编译器可能会导致速度放慢。由于安全原因,苹果故意这样做。话虽如此(我自己也没有做过任何html5),我希望编译好的本地用户界面能够更好地响应。 – drekka 2011-06-02 02:33:30

回答

3

我相信这可能是因为MobileSafari具有双击手势进行缩放,这意味着当系统等待可能的第二次敲击时,单击会有轻微的延迟。

使用touchStart/touchMove/touchEnd事件可能的解决方案是详细here

+0

Wossname,我正在测试你的解决方案,现在..将回来的结果。 – Jason 2011-06-02 05:21:37

+0

Wossname,优秀答案谢谢。通过处理onclickstart/end事件而不是触摸事件,我能够将延迟从400+ ms减少到60-90 ms。现在,整个UX完全*不同。我真诚地希望能够创建自己的基于HTML5的应用程序的问题的其他人在这里看到能够解决可怕的触摸响应时间。 – Jason 2011-06-03 01:04:37

+0

@Wossname:我已经使用[NoClickDelay](http://cubiq.org/remove-onclick-delay-on-webkit-for-iphone)方法,并且我摆脱了延迟。不过,我有以下两个问题。 1.我必须在提交按钮上添加'onclick =“this.focus()”'在文本字段上并且'onclick =“this.submit()”'。 2.用户不能再使用长按手势在文本字段中设置光标。你有没有遇到同样的问题? – Besi 2012-08-15 08:21:41

相关问题