javascript - 页面未显示在多页中

标签 javascript jquery html jquery-mobile

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

*注意 在 fiddle 中输入文本并提交然后刷新页面。 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 i 不想在本地存储可用时显示 page1

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

最佳答案

尝试这样的事情,

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

OR

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

关于javascript - 页面未显示在多页中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26030520/

相关文章:

html - Codepen 与 Bootstrap : CSS behaves differently

javascript - 将属性值转换为对象(jquery 或 javascript)

javascript - 如何使用 HTML5 输入类型 'number' 在 angularjs 中制作小时和分钟选择器

javascript - 使用 LocalStorage 保存和加载购物车

javascript - 在追加列表项后刷新有序列表的顺序

javascript - 在网站中嵌入谷歌地图

javascript - 无法加载包含 JSON 对象的数据表

html - 包含 CSP 随机数的服务器端呈现页面的 ETag

javascript - 如何在 Angular js/HTML 中处理数组

javascript - 我可以在 javascript 中创建 LinkedHashMap 吗?