我正在开发一个使用jQuery Mobile,Backbone和RequireJS的Phonegap移动应用程序。 我配置了jQM让Backbone管理路由。
每当我改变设备的方向时,似乎整个布局都会再次渲染(第一秒左右,我只能看到纯文本,没有jQM视觉增强和分页,这在app时会发生即使正在显示另一个页面,它也会进入第一页。有人遇到过同样的问题吗?
编辑:
jQM没有增强布局,因为在正文之前它是由RequireJS异步加载但是,为什么这会在方向改变时发生? jQM已经加载到DOM中,我是否误解了RequireJS的工作流程?有没有办法在加载主体之前加载一些带有RequireJS的库?如果没有,我将最终同步加载jQuery,jQM和jQM配置文件。
关于路由的事情,我还没有发现任何东西,假设它与Backbone路由器无法正确处理url哈希有关。
编辑2:
不知何故,每当我旋转设备时,url的哈希变为空。这样,应用程序转到第一页。在下面找到jQM配置文件的内容:
define(['jquery'], function ($) {
$(document).on("mobileinit", function () {
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
$.mobile.defaultDialogTransition = "none";
$.mobile.defaultPageTransition = "slidedown";
});
});