我正在尝试构建一个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" );
}
});
感谢您提供的任何帮助
答案 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/