Моя проблема лучше всего описана с этой записью, которую я записал: http://www.youtube.com/watch?v=aI-p_jqzOdU
Я использую плагин «Адрес jQuery» для глубоких ссылок Ajax. Для тех, кто не знает, как работает адрес jQuery, он работает, слушая изменения хеша методом change()
. Нажатие кнопки «Назад» и нажатие гиперссылки на URL предыдущей страницы должно вести себя одинаково, поскольку они вызывают один и тот же обработчик событий.
Вот оно в псевдокоде:
$address.change(function(event) {
if (event.value != '/') { // is the image link
Get the URL to be loaded
Create an overlay, append it to body and set its height, width, opacity
Put overlay on top of gallery
Load URL into overlay then fade it in
Set BODY to overflow: hidden
} else { // is the gallery link
Set BODY to overflow: auto
Fade out overlay then remove it
}
});
Если вы посмотрите видео, вы увидите, что нажатие ссылки на предыдущую страницу приводит к тому, что прокрутка страницы возвращается к 0. Нажатие кнопки возврата в браузере сохраняет желаемое поведение.
Что может быть не так?