Трудно сказать, чего вы пытаетесь достичь.Как и состояния Endophage, вы можете выполнить простое перенаправление JavaScript, если все, что вам нужно, это перейти на другую страницу.
Я предполагаю, что вы хотите иметь возможность выбрать, отображать ли содержимое первогоили вторая страница, но все еще остаются на первой странице.
Вы можете добавить следующий код.Убедитесь, что вы добавили до , включив jquery.mobile.
<script>
$(document).bind('mobileinit', function () {
// disable autoInitialize
$.mobile.autoInitializePage = false;
});
$(function () {
var displaySecondPage = true;
if (displaySecondPage) {
// load page2.html and replace #page1 with contents of #page2 on page2.html
$('#page1').replaceWith($('<div />').load('page2.html #page2', function() {
// continue initialize
$.mobile.initializePage();
}));
}
else {
// continue initialize
$.mobile.initializePage();
}
});
</script>
В основном мы привязываемся к mobileinit
, поэтому мы можем отключить autoInitialize
.Это дает нам больше контроля над тем, когда отображать первую страницу.
Теперь мы можем использовать стандартный готовый обработчик jQuery для проверки нашего условия, и если true, загрузить содержимое page2.html и заменить #page1
страницаОбратите внимание, что я использую метод $.load
с синтаксисом фрагмента страницы.Это означает, что вам нужно знать идентификатор страницы, которую вы хотите загрузить.
После загрузки страницы вы можете позвонить $.mobile.initializePage
, чтобы разрешить jquery mobile отображать новую страницу.
Чтобы предотвратитьсодержимое первой страницы, отображаемой во время этой загрузки, я добавляю следующий CSS в мою таблицу стилей:
div[data-role='page'] {
display: none;
}
jQuery Mobile заботится об отображении и скрытии страниц, поэтому их скрытие по умолчанию обеспечит вамне получайте флэш-контент необработанного контента.
В любом случае, надеюсь, это поможет.