Я начну с этого, я немного научился, но решение, которое решает, похоже, должно быть простой модификацией JQM.
У меня есть веб-приложение для проверки вина, которое имеет следующий поток пользователей просмотра: http://5buckchuck.com/
Тип винa > Винная картa > Информация о винах > Обзор вин (перенаправление через back-back) > Информация о винах, обновленная из обзора
То, что я хочу сделать, - это когда пользователь нажимает кнопку "Назад" , он должен вернуться к списку вин. В настоящее время происходит просмотр загрузки Wine Detail. Он возвращается три раза назад, чтобы вернуться к списку вин.: - (
Мои мысли решить это были два:
-
Соедините последние 3 элемента из стека истории, если последние элементы в стеке истории были просмотрены Wine. Мне было трудно попытаться представить последний объект истории, чтобы получить страницуURL. У меня есть ощущение, что это решение немного хрупко, хотя.
var last_hist = $.mobile.urlHistory.getActive(); last_hist.data.pageURL;
-
Вторая мысль заключалась в том, чтобы переопределить поведение кнопки "Назад" , чтобы кнопка "Назад" в представлении "Винная деталь" всегда возвращалась в вид списка вин.
$('div#wine_detail').live('pageshow',function(event, ui){ $("a.ui-btn-left").bind("click", function(){ location.replace("/wines/{{wine.wine_type}}/#"); }); });
Вероятно, есть лучший способ сделать это, но я немного из идей.
Обновление:
Поэтому я продолжаю взламывать это с незначительными результатами. На том, что я нашел, это то, что я в основном должен работать: window.history.go(-3)
с консоли он делает именно то, что мне нужно.
Итак, я попробовал привязать его к задней кнопке:
$('div#wine_detail').live('pageshow',function(event, ui){
var last = $.mobile.urlHistory.stack.length - 1;
var last_url = $.mobile.urlHistory.stack[last].url;
var review_url = /review/g;
if (last_url.match(review_url) )
{
$('div#wine_detail a.ui-btn-left').bind( 'click', function( ) {
console.log("click should be bound and going back in time...")
window.history.go(-2);
});
}
else
{
console.log('err nope its: ' + last_url);
}
});
Нет кубиков, что-то перехватывает транзакцию...