AJAX и кнопка «Назад» (Не могу заставить работать историю JQUERY) - PullRequest
0 голосов
/ 02 марта 2011

Я занят созданием рекламного сайта, на страницах категорий пользователь может настраивать экран (см. http://www.huurhulp.nl/verhuur/vakantie-en-recreatie/),, например, на следующей странице будет вызван запрос AJAX и загружены новые рекламные объявления. Я знаю, чтокнопка «Назад» не работает с AJAX, например, если я нажимаю на объявление и хочу вернуться к обзору (стр. 3), поэтому я попробовал несколько примеров JQUERY History, но не могу заставить их работать. Является ли JQUERY History единственнымвариант, я делаю что-то не так и у кого-нибудь есть хороший пример?

1 Ответ

2 голосов
/ 02 марта 2011

Взгляните на Кнопка «Назад» и запрос Бена Алмана плагин.

Это позволяет вам легко вставлять 'state' в URL браузера. Например, $.bbq.pushState("page", "2") добавляет #page=2 к URL-адресу браузера.

http://www.huurhulp.nl/verhuur/vakantie-en-recreatie/#page=2

Затем вы подключаете обработчик событий, который срабатывает всякий раз, когда изменяется хеш, и обрабатываете вашу навигацию ajax там. например,

$(window).bind( "hashchange", function(e) {
    var category = $.bbq.getState("category");
    // do your ajax stuff here....
});

Единственное, что остается сделать для поддержки кнопки возврата, - это запускать событие hashchange при первой загрузке страницы.

$(document).ready(function() { 
    $(window).trigger( "hashchange" );
});
...