Ajax PhoneGap/Android应用程序上的空白屏幕
我正在与Phonegap Android应用程序搏斗。我正在使用jQueryMobile 1.3.1和jQuery1.9.1以及PhoneGap2.9.0。我的index.html中有一些数据角色页面,我正在使用ajax函数动态生成一些其他页面。问题是,在显示动态生成的页面后,屏幕总是变成白色。如果我在index.html中静态创建的页面之间导航,就不会发生这种情况 有什么建议吗?我试过:Ajax PhoneGap/Android应用程序上的空白屏幕,ajax,jquery,jquery-mobile,cordova,Ajax,Jquery,Jquery Mobile,Cordova,我正在与Phonegap Android应用程序搏斗。我正在使用jQueryMobile 1.3.1和jQuery1.9.1以及PhoneGap2.9.0。我的index.html中有一些数据角色页面,我正在使用ajax函数动态生成一些其他页面。问题是,在显示动态生成的页面后,屏幕总是变成白色。如果我在index.html中静态创建的页面之间导航,就不会发生这种情况 有什么建议吗?我试过:
- CSS:.ui页面{ -webkit转换:translateZ(0); -webkit透视图:1000; -webkit背面可见性:隐藏; -msie背面可见性:隐藏; -ms背面可见性:隐藏; }
- defaultPageTransition=“无”
新页面是使用Mustache.js创建的 快速尝试的方法是在jQuery Mobile中全局启用DOM缓存:
$.mobile.page.prototype.options.domCache = true;
或
我想说,它源于一个不包含动态生成的标记的给定页面,为了利用jQM的ajax导航,您需要动态生成标记。。。它使用自己的内部历史跟踪对象为hashchange和/或popstate事件提供燃料
除此之外,我将逐步介绍动态页面实际上是如何添加到DOM的。您应该能够继续使用Mustache的模板插件,但必须确保使用jQM将标记添加到DOM中。(或者经历一个可能很长的创建覆盖的过程……如果可能的话,我认为您应该避免。)
当您使用jQM更新DOM时,它确保以正确的顺序触发正确的事件,从而使应用程序数据/状态保持最新
我肯定您正在使用文档,但我会再看一眼。可能会让您更好地了解您需要停止使用或扩展/覆盖的Mustache方法
希望这有帮助
jQM参考资料
DOM缓存:
导航事件:
动态页面加载:
是否使用
.ajax()
或.load()
调用外部页面?是的,.ajax()具有beforeSend和success回调函数。因此,请检查创建的页面。。。也许你发现了一些错误!你能创建一个JSFIDLE吗?更好的方法是在skype上添加我:PabloR。Nunes@JonZangitu,你弄明白了吗?
pageContainerElement.page({ domCache: true });