кнопка возврата на страницах, поддерживаемых ajax - PullRequest
1 голос
/ 30 ноября 2011

У меня есть главная страница php, и теперь я загружаю разные страницы в div этой главной страницы, используя ajax.Теперь я хочу добавить кнопку «Назад» на подчиненные страницы, чтобы div мог загружаться только с предыдущей подчиненной страницей, но кнопка «Назад», которую я использую, использует history.go (-1), которая убирает меня с главной страницы.есть кто-нибудь решениеЗаранее спасибо.

код, который я использую, написан ниже.но это не работает на страницах Ajax

<a href="javascript:history.go(-1)">Go back</a>

Ответы [ 3 ]

1 голос
/ 30 ноября 2011

Я бы предложил использовать для этой цели фреймворк, например backbone.js

Где вы можете настроить маршруты, как на стороне сервера.

Мне кажется, это лучший способ сделать это на сайтах ajax.

1 голос
/ 30 ноября 2011

Read учебник по управлению историей браузера .

В нем упоминается:

  • pushState, что используется для создания "записей" вистория браузера (с прикрепленными данными о состоянии), позволяющая вернуться к некоторому конкретному состоянию, которое вы ранее сохранили,
  • onpopstate событие, при котором вызывается при переходе назад или вперед черезистория браузера и передает информацию, ранее сохраненную для конкретной записи в истории (таким образом, вы можете фактически прочитать данные, ранее сохраненные pushState для этой конкретной записи),

в случае pushState и onpopstate не работают для вас, все еще есть некоторая способность работать на основе события onhashchange (хотя и ограниченного).

Хорошая новость заключается в том, что то, чего вы хотите достичь, определенно возможно,Он даже реализован на многих известных сайтах, таких как Twitter, GitHub, Facebook и т. Д.

0 голосов
/ 30 ноября 2011

Вы можете использовать функцию истории, предоставленную в более новом браузере. Существует несколько библиотек, которые уже предоставляют вам функциональность:

Для JavaScript-приложений MVC:

http://documentcloud.github.com/backbone/#History

Для мобильных веб-страниц:

http://jquerymobile.com/demos/1.0b1/#/demos/1.0b1/docs/pages/docs-navmodel.html

Для реализации решения самостоятельно:

http://benalman.com/projects/jquery-hashchange-plugin/

...