#javascript #jquery #jquery-mobile #cordova
#javascript #jquery #jquery-мобильный #кордова
Вопрос:
в настоящее время я столкнулся с проблемой с историей. back () .
У меня есть 2 страницы, которые pageA.html , pageB.html .
Я использую следующий код для перехода на следующую страницу и возврата к предыдущей странице
// go to next page
function changePage(url) {
$.mobile.pageContainer.pagecontainer("change", url, {
allowSamePageTransition: true,
transition: 'none',
showLoadMsg: false,
reloadPage: false,
changeHash: true
})
}
//back to previous page
function backToPreviousPage(){
alert("back");
history.back();
}
Коды работают нормально в первый раз, как показано ниже
Первый раз: страница> Страница (нажмите кнопку назад один раз)> Страница
Итак, я снова успешно вернулся к странице. И вот возникает проблема.
Второй раз: страница> Страница (сначала нажмите кнопку «Назад», ответа нет, затем нажмите второй раз)> Страница
Когда дело доходит до третьего раза, мне нужно нажать кнопку «Назад» 3 раза, только тогда можно запустить history.back(), я могу получить предупреждающее сообщение, поэтому вызывается функция backToPrevious .
итак, проблема такая, как показано ниже:
- 1-я навигация: Страница> Страница> Страница (1 клик)
- 2-й переход: Страница> Страница> Страница (2 клика)
- 3-й навигационный переход: Страница> Страница> Страница (3 клика)
и так далее….
Я не могу просто жестко перейти обратно на страницу в функции backToPrevious, потому что я могу не только перейти на страницу с страницы, но и перейти на страницу с другой страницы.
До сих пор я пытался с этим
history.back(-1);
и это
<a data-rel="back" href="javascript:history.back(1)" data-theme="a">Back</a>
но все равно не могу решить проблему.
Буду признателен, если кто-нибудь скажет мне, что я делаю не так. Спасибо.
Ответ №1:
Просто используйте этот код.
function changePage() {
$.mobile.changePage("pageA.html");
return false;
}
function backToPreviousPage(){
navigator.app.backHistory();
}
Комментарии:
1. извините, это моя ошибка, что я не даю полной информации о моей проблеме. PageB на самом деле является страницей с множественным доступом, что означает, что я могу перемещаться по странице с PageA, но также могу перемещаться по странице с pageZ. У вас есть какие-либо идеи по этому поводу?