Jquery mobile jquerymobile中的条件初始页
我将jQuery mobile与PhoneGap一起使用,希望在第一次使用应用程序时显示登录页面,并在后续加载时显示索引页面 我目前的解决方案是在deviceready上使用以下内容Jquery mobile jquerymobile中的条件初始页,jquery-mobile,cordova,Jquery Mobile,Cordova,我将jQuery mobile与PhoneGap一起使用,希望在第一次使用应用程序时显示登录页面,并在后续加载时显示索引页面 我目前的解决方案是在deviceready上使用以下内容 if(!localStorage.registered){ $.mobile.changePage( "#login", { transition: "none"} ); } 但是,我的问题是,您仍然可以看到页面转换。我希望登录页面是第一个可见的页面 有什么建议吗?谢谢 如何隐藏#注册和#登录,然后执行
if(!localStorage.registered){
$.mobile.changePage( "#login", { transition: "none"} );
}
但是,我的问题是,您仍然可以看到页面转换。我希望登录页面是第一个可见的页面
有什么建议吗?谢谢 如何隐藏#注册和#登录,然后执行以下操作:
if(localStorage.registered){
$('#login').show();
} else {
$('#registration').show();
}
这是一个几个月前的问题,它仍然没有答案,我没有任何电话差距的经验,但我有jQM,所以我认为这可能会有所帮助 我目前在我的应用程序上采用了一种解决方案,即延迟jQM的自动初始化。 这是一个示例,说明了如何松散地基于我的应用程序的工作方式
(function() {
#stop jQM from auto initialising
$(document).on("mobileinit",function() {
$.mobile.autoInitializePage = false;
});
var my_app = new MyApp();
# custom afterinit event is triggered on the app instance
$(my_app).on('afterinit',function() {
var initial = 'login';
if(localStorage.registered) {
initial = 'home';
}
# set the page hash to our start page
window.location.hash = initial;
#initialise jQM
$.mobile.initializePage();
});
})();
确保您保护决定是否允许登录的东西,在我的应用程序中,我有一个应用程序ajax在MyApp中需要的数据结构。appdata只有在登录成功时才会出现。另一个解决方案可能是使用代理页。 我在另一个应用程序上采用了不同的方法 初始“加载”步骤,它只是一个虚拟页面。 在你的文件中做一页作为第一页
<div id="loading" data-role="page">Loading</div>
我不知道phonegap,但这有用吗<代码>webView.loadUrl(“yourpage#login”)如果stmt这与我最后所做的类似,但我会给你一个公认的答案,因为你记录了它:)谢谢!很高兴你最终成功了,我想你可能会成功的,但也可以作为其他人的参考,作为一个可能的解决方案。祝你度过愉快的一天。我尝试用jqm做同样的事情,但我不理解
var my\u app=new MyApp()
行。。。也不是定制活动…嗨,Matthieu,你还不了解什么?它只是创建一个类的新实例,这个类就是我编写的应用程序,它使用jqm。我们监听自定义事件,当应用程序完成各种设置时,会触发该事件。您的应用程序可能会以不同的方式实现,然后事件处理程序会告诉jqm初始化它自己。也许可以将我们链接到一个说明您遇到问题的版本?当您的应用程序完成初始化所需的操作时,您需要在应用程序中触发自定义事件<代码>$(this).trigger('afterinit')changePage在$时不工作。mobile.autoInitializePage=false
$(document).on("mobileinit",function() {
$('#loading').on('pageshow',function() {
# ...
# do login check here
# ...
var initial = 'login';
if(localStorage.registered) {
initial = 'home';
}
# change to our initial page
$.mobile.changePage(initial);
});
});