Я использую вложенные страницы в Jquery Mobile:
Выглядит так:
// wrap page
<div data-role="page" id="wrap">
// panel
<div data-role="panel" data-id="popover">
// nested pages
<div data-role="page" id="nested1"></div>
<div data-role="page" id="nested2"></div>
</div>
</div>
На переходах я переключаю $. Mobile.pageContainers загружать вложенные страницы в панели или загружать их в тело (по умолчанию JQM) следующим образом:
$.mobile.changePage( page-to-be-loaded, {
// previous page in panel
fromPage:from,
// update the URL with the nested page hash
changeHash:hashChange,
// target panel
pageContainer: $('div:jqmData(id="popover")')
});
Все это работает как положено = когда я загружаю вложенную страницу внутри панели, URL-адрес обновляется до
http://some.com#nested1/2/3...
Моя проблема заключается в «очистке» URL-адреса, когда я покидаю страницу переноса и вообще перехожу на новую страницу JQM
В этом случаеURL застрял на последней вложенной странице, когда мне нужно сообщить JQM, что я на самом деле все еще на странице переноса (независимо от того, какая вложенная страница все еще находится в URL).
Вопрос: Поэтому я ищу способ обновить URL-адрес до его правильного значения или хороший способ установки параметров страницы на «заводские настройки», чтобы JQM никогда не знал, что я делал какие-либо переходы панели на своей вложенной странице.
Я пытался:
// 1. location hash - doesn't work
window.location.hash = ""
// 2. ReplaceState - breaks on non-push-state browsers
// on pageinit store defaults
var $myState = {};
$myState.title = document.title;
$myState.url = location.protocol + '//' + location.host + location.pathname;
page.data("rememberState", $myState )
// before leaving the wrap page
var rem = $('#wrap.ui-page-active').data("rememberState");
if (rem && typeof rem != 'undefined') {
history.replaceState('null',rem.title,rem.url);
}
// 3. Reload the page when hiding the panel - crashes my browser :-)
$.mobile.changePage('#wrap', {
allowSamePageTransition: true,
changeHash:true,
transition:none
});
Так как я далеко от пути JQM, я просто ищунамеки.Спасибо за любой указатель!