私は非常に単純なjqueryモバイルアプリケーションを持っています:
/index.html( へのリンクが含まれていますhome.html)/home.html
前提条件を満たすユーザーにのみ表示したいhome.html(たとえば、ローカル ストレージには が含まれている必要があるlogged=true)。それ以外の場合は、にリダイレクトされるようにしindex.htmlます。もちろん、ユーザーがリンクをクリックしたとき、index.htmlまたはhome.htmlURLを介して直接ナビゲートしたときに、これが発生することを望んでいます。
これを強制するために、すべてのページに含まれる外部スクリプトに次のものがあります。
$(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ですか?