有时,它会显示,有时候,不会,如何确保ajax加载指示器在jquery mobile中显示?
答案 0 :(得分:2)
除非您的应用中存在重大问题,否则您所描述的是正常情况。
虽然页面转换可能需要花费大量时间(桌面浏览器上的常规页面加载/转换时间为670毫秒),但加载到 DOM
的页面只需几毫秒(通常为3毫秒) -5毫秒)。仅当页面加载(进入 AJAX
)需要超过10毫秒时,才会显示 DOM
加载程序。其他页面转换操作不计入 AJAX
调用,因此在将页面加载到 DOM
后,动画将不会显示。
页面加载/转换期间的操作:
AJAX
加载程序仅在此操作期间显示,如果它需要超过10毫秒)要详细了解这一点,请查看我的其他 ARTICLE ,或找到 HERE ,搜索名为:<的章节strong>页面更改时间
还有一件事,除非您使用普通页面加载,否则 AJAX
加载程序将无法显示(如果您的链接具有 rel="external"
属性或 data-ajax="false"
)。
答案 1 :(得分:0)
为了确保默认情况下完成ajax导航,只要不向链接和按钮添加data-ajax =“false”属性,Jquery Mobile就会向加载到DOM中的页面添加ajax导航。否则,您可能添加了在某些页面上禁用了ajax导航的全局修改。
或者您可以将rel =“external”作为某些链接和按钮中的属性,这会禁用ajax导航。
如果你可以更具体,即发布你问题的一个例子,我可以给你一个更好的解释。另请注意您正在使用的Jquery Mobile版本。
答案 2 :(得分:0)
当你这样做时:
$.mobile.changePage( "#page-home", { transition: "none"} );
添加:
$.mobile.showPageLoadingMsg();
不要忘记添加
$.mobile.hidePageLoadingMsg();
在pageLoad函数的末尾