Как правильно менять location.hash, чтобы потом корректно работало переключение истории просмотров в браузере?

Воспроизводится следующим образом:

1. Открываем страницу с примером fiddle.jshell.net/mVuWD/3/show/.

2. Переходим по разным ссылкам из меню от первой к последней.

3. Кликаем кнопку «назад» в браузере.



В итоге перехода происходит со второго раза, но в адресной строке хэш перестает соответствовать блоку с соответственным id.



Подскажите, пожалуйста, как добиться правильного поведения при переключении истории?



Исходники — jsfiddle.net/mVuWD/3/
  • Вопрос задан
  • 2644 просмотра
Пригласить эксперта
Ответы на вопрос 1
Methos
@Methos
Для jQuery есть плагин history.

Есть также новый плагин, который поддерживает html5 pushState и хеш одновременно.

Вот один из вариантов badassjs.com/post/840846392/location-hash-is-dead-long-live-html5-pushstate

Вот здесь что-то техническое классно обсуждают stackoverflow.com/questions/4250553/any-cross-browser-jquery-ajax-history-example-with-window-history-pushstate-and
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы