【问题标题】:Page not showned in multi page页面未在多页中显示
【发布时间】:2014-11-19 18:01:00
【问题描述】:

我创建了一个 multipage(data-role="page") html。在 page1 我最初有用户名字段 填写它存储在 localstorage 中的用户名并重定向到 page2。再次打开应用程序以检查本地存储是否存在,直到 hide pagebeforeshow 事件中的 page1 才能正常工作,因此问题出现在 pagebeforeshow 事件中strong>page2未创建。这个怎么解决。这是工作的Fiddle

*Note 在小提琴中输入文本并提交,然后刷新页面。 html是这样的:

 <div data-role="page" id="page1">
    <div data-role="header">
      <h1>page 1 from html</h1>
      <a >Go</a>

    </div><!-- /header -->   
      <div data-role="content">
          <label>Type text to store in LocalStoreage</label>
          <input type="text" id="name" />
          <button id="sub">Submit</button>
      </div>
  </div><!-- /page -->
  <div data-role="page" id="page2">
    <div data-role="header">
      <h1>Page 2</h1>
      <a href="#page1">Back</a>
    </div><!-- /header -->  
      <div data-role="content">
          <p> Hi i am second page</p>
      </div>
  </div><!-- /page -->

脚本是:

 $(document).on("pagebeforeshow","#page1",function(){
    $("#page1").hide();
    var locStorage = localStorage.getItem("lastname");
    //alert(locStorage);
    if(locStorage){
         $.mobile.changePage("#page2");
    }else{
        $("#page1").show();
    }
});

    $(document).on("click","#sub",function(){
       // alert( $("#name").val());
    localStorage.setItem("lastname", $("#name").val());
        $.mobile.changePage("#page2");
    });

当评论 $("#page1").hide(); 这一行时,page1 显示 之后只导航到 page2不想在 localstorage 时显示 page1可用

编辑: 在加载 jquery mobile 之前设置 $.mobile.autoInitialize = false;,即使 page1 加载了几秒钟。

【问题讨论】:

  • This 可能会有所帮助。
  • @MysticMagic 谢谢你的回复jsfiddle.net/5mL8yLu2/7 现在也加载第1页几秒钟,然后重定向到第2页

标签: javascript jquery html jquery-mobile


【解决方案1】:

试试这样的,

 windows.location.href="index.html#page2" 

windows.location.href="#page2" 

而不是

$.mobile.changePage("#page2");

所以你可以试试这段代码,

$(document).on("pagebeforeshow","#page1",function(){
var locStorage = localStorage.getItem("lastname");
//alert(locStorage);
if(locStorage!=null){
     windows.location.href="#page2";
}
else{
     windows.location.href="#page1";
}
});

$(document).on("click","#sub",function(){
   // alert( $("#name").val());
localStorage.setItem("lastname", $("#name").val());
    windows.location.href="#page2"; 
});

【讨论】:

  • 你能提供一些小提琴..因为我在我的应用程序windows.location.href="index.html#page2"; 中尝试过它没有转到第 2 页
猜你喜欢
  • 2015-06-10
  • 2020-06-07
  • 2013-07-18
  • 2019-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-25
  • 2013-12-08
相关资源
最近更新 更多