ユーザーが jqm ページのサブページにアクセスできないようにしたいと考えています。そのために、pagebeforecreate
イベントを使用して特定の条件を確認し、それに応じて表示されるページを変更します (現在のページの読み込みをキャンセルしてリダイレクトするか、通常は現在の開始/メイン ページを読み込みます)。問題は、メソッドchangePage()
を呼び出しても、実行前にページがちらつくことです。preventDefault()
また、相対 URL を の最初のパラメーター ( to
= 'page.php')として使用し、その中にあるchangePage(to, options)
ため、開く必要が#subpage1
ありますpage.php
が、実際の更新が行われていないため、トランジションが壊れています。
page.php
異なる を含むことに注意してください(#subpage
など)。#subpage1
#subpage2
jQuery(document).on('pagebeforecreate', '#subpage2', function(event, data) {
if (!isCondition1() && !isCondition2()) {
// stop loading #subpage2
event.preventDefault();
jQuery.mobile.changePage(jQuery('#subpage1'), {
data: 'lang=de¶m1=foo¶m2=bar',
reloadPage: true,
type: 'get'
});
}
// go on loading #subpage2
});
jQuery(document).one('pageinit', '#subpage2', function() {
// do something
});