我想阻止用户访问我的jqm页面的子页面。为此,我使用pagebeforecreate
事件来检查某个条件,并根据它,更改显示的页面(取消当前页面加载和重定向或正常加载当前的起始/主页面)。问题是,即使我调用changePage()
方法,我仍然会在执行preventDefault()
之前看到页面闪烁。我还使用相对网址作为to
的第一个参数(changePage(to, options)
='page.php'),因为我的#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
});
答案 0 :(得分:0)
您是否尝试过在html中设置正文样式:none?然后,如果页面正确加载,您可以设置它的显示属性?这应该是一个“解决方法”,以防止页面的闪烁?