jqm data-rel=давняя проблема

представьте себе следующий сценарий:

У меня есть формула jquery-mobile, ее результаты ссылаются на ее страницу результатов.

на странице результатов у меня есть эта кнопка «Назад»:

<a href="#" data-rel="back" data-role="button"></a>

это отлично работает, чтобы просто обновить содержимое и сохранить отправленные данные формы,

но что, если пользователь пришел из поисковой системы или аналогичной внешней ссылки, тогда моя кнопка «Назад» вернет ссылку на поисковую систему/externLink .

Итак, как мне отличить тех, кто пришел из моей формы или откуда-то еще в jqm-способе?

у меня есть «стартовая страница поиска», на которую я хотел бы ссылаться, если пользователь не пришел из поиска, и я не хочу пропустить ajax-ссылку из моего поиска на страницу результатов, используйте ту же кнопку и в идеале мне не нужно устанавливать какие-либо файлы cookie.

есть ли какой-либо намек или более разумная попытка, чем проверить URL-адрес сервера из document.referrer? заранее спасибо


person john Smith    schedule 14.05.2013    source источник
comment
Проверьте этот ответ stackoverflow.com/questions/16374046/jquery-mobile-back -кнопки   -  person Omar    schedule 15.05.2013
comment
спасибо, но это мне не помогает, потому что в моем случае всегда есть кнопка '[data-rel=back]' внутри страницы результатов поиска   -  person john Smith    schedule 15.05.2013
comment
Это проверит, была ли конкретная страница первой страницей для просмотра, и, соответственно, установит кнопку «Назад» в положение «домой» или где угодно. Если пользователь обычно перемещается по вашей странице, это будет действовать как rel=back.   -  person Omar    schedule 15.05.2013
comment
хорошо, вы правы, но это не работает для меня, так как я использую механизм шаблонов groovy-layout, а поиск и результат поиска находятся внутри одной и той же data-role=page   -  person john Smith    schedule 15.05.2013
comment
ладно не работает :(   -  person john Smith    schedule 15.05.2013


Ответы (1)


Вы можете проверить текущий URL-адрес страницы, используя следующий код:

var prevUrl = $.mobile.activePage.data('url');

в случае, если вы хотите выполнять разные действия на основе предыдущего URL. затем сохраните URL-адрес в глобальной переменной javascript и нажмите кнопку, чтобы проверить предыдущий URL-адрес и выполнить свою функциональность. например

Перед переходом на страницу:

var prevUrl = $.mobile.activePage.data('url');

по нажатию кнопки:

if (prevUrl=="myurl") {
//do something
 $.mobile.changePage('#search')
}
else {
 $.mobile.changePage('#nothing')
}
person Manav Dewan    schedule 15.05.2013