我有一个非常简单的jQuery移动应用:jQuery Mobile的阻止页面呈现
/index.html
(包含一个链接到home.html
)/home.html
我想home.html
只对用户可见谁满足先决条件(例如本地存储应包含logged=true
)。否则,我希望他们被重定向回index.html
。当然,当用户点击从index.html
的链接或者他/她通过URL直接导航到home.html
时,我希望发生这种情况。
为了实施这其中的所有页面inluded外部脚本我有以下几点:
$(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
?