我有一个非常简单的 jquery 移动应用程序:
/index.html
(包含指向 的链接home.html
)/home.html
我只想home.html
对满足先决条件的用户可见(例如本地存储应该包含 a logged=true
)。否则我希望他们被重定向回index.html
. 当然,我希望当用户单击链接index.html
或他/她home.html
通过 URL 直接导航到时发生这种情况。
为了执行此操作,我在包含在所有页面中的外部脚本中包含以下内容:
$(document).on('pagebeforecreate', function(e) {
if (!userIsLoggedIn() && e.target.id=='home_page') {
$.mobile.changePage('index.html');
}
});
请注意,我的home.html
开头是<div home-role="page" id="home_page">
此代码有效,但问题是用户可以立即看到内容home.html
。我在API中看到这pagebeforecreate
是在页面转换时调用的最早事件。调用changePage
虽然不会从进一步的事件停止到在我不希望用户看到的此页面上被调用。
如何完全停止渲染home.html
并立即将用户重定向回index.html
?