私は非常に単純なjqueryモバイルアプリケーションを持っています:
/index.html
( へのリンクが含まれていますhome.html
)/home.html
前提条件を満たすユーザーにのみ表示したいhome.html
(たとえば、ローカル ストレージには が含まれている必要がある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
ですか?