2013-05-30 2 views
1

Im создание сайта с использованием django. На моей странице отображения у меня есть список элементов (с результатами имени), и у меня есть фильтры, которые фильтруют «результаты» и получают еще один «отфильтрованный» список на странице отображения с помощью вызова ajax.Перейти к последнему состоянию при нажатии кнопки возврата

Теперь, когда я перехожу на другую страницу, а затем нажмите кнопку «Назад», я возвращаюсь на страницу с выбранными фильтрами, но результаты не фильтруются (я бы хотел, чтобы список «фильтры», а не « результаты "при возврате). Как мне добраться до последнего состояния после использования кнопки «Назад»? В принципе, все, что делается с помощью javascript, и последующие действия очищаются.

Может ли кто-нибудь помочь мне с этим. Благодарю.

ответ

0

Поведение истории браузера становится сложным, но один из методов, который я использовал, - это встраивание состояния в хеш. Это заставит браузер обрабатывать каждое другое значение хэша как другую страницу в истории, а также позволяет делать такие вещи, как закладка определенного состояния выбора фильтра. Я использовал jquery в следующих строках:

$(function() { 
    if (window.location.hash) { 
    // parse the hash and update your filter settings, then get the content and display it 
    }; 

    function update_hash() { 
    // calculate the hash based on your filter 
    window.location.hash = new_hash; 
    }; 

}; 

Затем привяжите update_hash как обработчик события для изменений.

Смежные вопросы