加快 iPhone 上 jQuery Mobile 中的对话框/页面转换?
Posted
技术标签:
【中文标题】加快 iPhone 上 jQuery Mobile 中的对话框/页面转换?【英文标题】:Speed up dialog/page transitions in jQuery Mobile on iPhone? 【发布时间】:2012-04-18 16:22:18 【问题描述】:还有其他关于加速 jQuery Mobile for android 的 SO 问题,但有谁知道如何加速 iPhone 上的页面转换,特别是对话框转换?
我们正在使用 JQM 1.0。 JQM 1.1 应该加速页面转换(虽然我们还没有看到任何演示),但我们想知道是否有人为 JQM 1.0 做过任何事情。
现在,有两秒钟的延迟,这对于显示对话框来说太长了。我们采用两种选择之一。页面过渡不使用动画,提供即时反馈,或者通过绑定到“touchstart”并为对话框设置动画来滚动我们自己的动画,这实际上只是当前页面中的一个大 DIV。
两者都不理想。
建议?
【问题讨论】:
jquerymobile.com 上的默认文档链接已将您带到 1.1.0 RC-1 的文档,因为它大约在一个月前发布。因此,如果您在移动设备上查看文档,您会看到 1.1.0 RC-1 中所做的更改:jquerymobile.com/demos/1.1.0-rc.1。另外,您正在测试什么版本的 iPhone 以及它的 ios 版本是什么? ios 4.3.x, iphone 4 ...延迟在 1.1 中完全消除了吗?我在其他地方看到页面转换仍然很慢。 【参考方案1】:您可能应该首先使用应用程序的副本更新到 1.1。 JQM 1.1 更广泛地使用 html5 转换。在我们的 web 应用中,这大大提高了转换的性能。
如果您想在 1.0 中模拟这一点,请使用 webkit 的 CSS 转换和动画属性创建转换,并使用两个类“.active”和“.hidden”,然后将 addClass() 函数绑定到 JQM 中的 touchStart 事件。
【讨论】:
现在页面转换是否有明显的滞后?当我们使用无页面过渡时,切换页面没有延迟,但使用页面过渡时却出现了痛苦的卡顿?另外,升级到 1.1 有什么大问题吗? @Crashalot 从 1.0a3 开始,我已经搞砸了 jQuery Mobile 的每个版本,从 1.0 到 1.1.0 RC-1 我没有遇到任何问题。这当然并不意味着没有任何小部件,但我使用了大多数小部件并且还没有遇到任何问题。 酷,也许我们很快会尝试移植。 1.1 中的页面转换怎么样?它们现在对最终用户来说是否与不使用任何页面转换一样快?【参考方案2】:我认为“点击”延迟是 android webkit 的一部分,您对此无能为力。您可以将touchstart
事件绑定到按钮,然后调用JQM 的.changePage。
无需滚动您自己的动画,JQM 会处理的!
【讨论】:
iOS 也会产生延迟。但是浏览器对click
事件造成的延迟应该只有半秒左右(这是为了检测用户是否在点击或滑动)。
是的,它是为了检测到这一点,但有些报告说延迟比要求的要长:forum.jquery.com/topic/usability-touch-feedback-too-slow 好吧,我要测试一下。以上是关于加快 iPhone 上 jQuery Mobile 中的对话框/页面转换?的主要内容,如果未能解决你的问题,请参考以下文章
从 iPhone 主屏幕重新打开时,如何在 jQuery Mobile 应用程序上缓存并保留上次访问的页面?
jQuery的on绑定事件在mobile safari(iphone / ipad / ipod)上无法使用的解决方案
jQuery mobile 100% 高度页面,等于可见区域
iPhone上的jQuery Mobile + PhoneGap无法加载页面
iPhone JQuery:如何使用 iPhone 中的 Jquery Mobile + phone gap 在 iPad 中实现拆分视图