在jquery mobile中保护页面

时间:2014-10-05 02:40:31

标签: jquery jquery-mobile

我正在尝试构建一个jquery移动应用程序,其中包含一些使用密码保护轻度保护的页面。我假设我可以在其中一个页面事件中放置一些东西来重定向,但我似乎无法让它干净利落地工作。我可以让重定向发生,但它首先会闪现我想要保护的页面。

这是我尝试过的最有希望的事情:

$(document).on("pagebeforeshow", "#ProtectedPage", function (event) {

        if (!hasUserLoggedIn()) {
              alert("You must be logged in to visit this page");
              event.preventDefault()     

              $("body").pagecontainer("change", "#loginpage" );
         }

});

感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:0)

诀窍是真正重定向到pagebeforechange上的登录页面:

$(document).on("pagebeforechange", function (event, data) {

        if (!hasUserLoggedIn()) {
              alert("You must be logged in to visit this page");
              data.toPage = "#loginpage";
              $.extend(data.options, {changeHash: false});
         }

});

注意:jQuery Mobile> = 1.4.3已弃用类似的事件

$(document).on("pagecontainerbeforechange", function (event, data) {

    if (!hasUserLoggedIn()) {
          alert("You must be logged in to visit this page");
          data.toPage = "#loginpage";
          $.extend(data.options, {changeHash: false});
     }

})

http://jqmtricks.wordpress.com/2014/07/13/pagecontainerbeforechange/