Jquery mobile jquerymobile中的条件初始页

Jquery mobile jquerymobile中的条件初始页,jquery-mobile,cordova,Jquery Mobile,Cordova,我将jQuery mobile与PhoneGap一起使用,希望在第一次使用应用程序时显示登录页面,并在后续加载时显示索引页面 我目前的解决方案是在deviceready上使用以下内容 if(!localStorage.registered){ $.mobile.changePage( "#login", { transition: "none"} ); } 但是,我的问题是,您仍然可以看到页面转换。我希望登录页面是第一个可见的页面 有什么建议吗?谢谢 如何隐藏#注册和#登录,然后执行

我将jQuery mobile与PhoneGap一起使用,希望在第一次使用应用程序时显示登录页面,并在后续加载时显示索引页面

我目前的解决方案是在deviceready上使用以下内容

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);
  });

});