JQM 1.1 中的页面转换在 iPhone 上仍然会产生 1-2 秒的延迟,这会影响用户体验。
有没有人想出如何让 JQM 1.1 中的页面转换感觉更原生?我们知道有像 Zepto 这样的替代框架,但如果可能,我们更喜欢使用 JQM。
我们正在使用 PhoneGap 在 iOS 设备上分发应用程序。
JQM 1.1 中的页面转换在 iPhone 上仍然会产生 1-2 秒的延迟,这会影响用户体验。
有没有人想出如何让 JQM 1.1 中的页面转换感觉更原生?我们知道有像 Zepto 这样的替代框架,但如果可能,我们更喜欢使用 JQM。
我们正在使用 PhoneGap 在 iOS 设备上分发应用程序。
我使用了几种方法,它们共同产生了非常令人满意的结果。
1) Energize.js - https://github.com/davidcalhoun/energy.js消除了所有点击/点击的点击延迟
2) 在您的 jQM 启动中添加:
$.mobile.buttonMarkup.hoverDelay = 0;
3, 4 & 5) 使用
$( "#YourPage" ).delegate("#YourButton", 'tap', function(event) {
$.mobile.showPageLoadingMsg();
$.mobile.changePage( "YourPage", { transition: "slide"} );
e.stopImmediatePropagation();
return false;
} );
3)而不是使用jQM然后转换为mobile.changePage的普通锚链接 - 自己做那部分并(可能)减少几毫秒
4) 将其委托为点击而不是单击(尽管存在 energet.js,但我看不出任何区别)
5) 在开始传输之前显示加载消息。如果您要导航的站点很复杂,可能需要一段时间才能生成,如果您显示加载消息,至少用户知道发生了什么事
6)使用预加载内容
$.mobile.loadPage( "YourPage" );
由于重叠,这可能有点矫枉过正,但希望使用这些技术,您将能够使您的应用程序更具响应性!
编辑-奖励:这是一篇博客文章,其中涵盖了其他三种加速 PhoneGap jQuery Mobile 应用程序的技术:http: //therockncoder.blogspot.no/2012/06/three-quick-performance-tips-for.html
只包含获取jquery mobile时需要的组件