(jQuery) Сохранение состояния страницы на протяжении всей истории

#jquery #history #state #save

#jquery #история #состояние #Сохранить

Вопрос:

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

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

Комментарии:

1. проверьте w3.org/TR/html5/history.html это довольно сложная работа, и в настоящее время она даже не работает во многих браузерах, но она, несомненно, потрясающая: D

Ответ №1:

Плагин BBQ от Ben Alman делает это.

Ответ №2:

Комментарии:

1. Я понятия не имею, как я должен реализовать это в своей функции click (которая запускается, когда я прокручиваю страницу вниз). Смотрите мой следующий комментарий к функции.

2. $('#navigatie a').live('click', function(){ var pagina = $(this).attr('href'); var aantalResultaten = $('#resultaten .aantalResultaten').text(); var $aantalZien = $('#resultaten .aantalZien'); $('<div>').load(pagina ' #content', function(){ $('#subPaginaLoader').remove(); $('#navigatie').before($(this).find('div.film, div#navigatie, div.paginaEinde').outerHTML()).remove(); if((parseFloat($aantalZien.text()) 10) >= aantalResultaten){ $aantalZien.text(aantalResultaten); } else{ $aantalZien.text(parseFloat($aantalZien.text()) 10); } }); return false; });

3. Ужасная разметка. Я не уверен, как и где продолжить мои вопросы по этой теме.

4. Спасибо, что указали мне правильное направление! Я думаю, что плагин BBQ ближе к тому, что я хочу, поэтому я приму другой комментарий в качестве ответа. Но поскольку я понятия не имею, как это реализовать, я начну новый вопрос об этом.