2012-03-25 1 views
0

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

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

Firefox прокрутите страницу после этого, чтобы точно прокрутить страницу (хорошо).

Операция и сафари, похоже, загружают точно такое же состояние, что и раньше, поэтому динамический контент, кажется, уже предварительно загружен и отображается (хорошо).

Но IE и Chrome хотят прокрутить, прежде чем динамический контент загрузится, и они не будут пытаться позже. IE застрял в верхней части страницы и Chrome где-то посередине (внизу страницы до появления динамического контента).

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

$(document).live("click", function() { window.alert("gotcha"); }); 

не работает для меня в любом случае.

+0

Я думаю, вам нужно показать нам какой-то код? – einstein

ответ

0

document не имеет на что нажать. document.documentElement - это корень узла <html>, поэтому присоедините события к нему или, если необходимо, window.

+0

Спасибо, он работает. Я уже пробовал это, но в то время должна была быть какая-то другая проблема. ** $ ("html a") ** работает еще лучше, потому что это предотвращает изменение URL-адреса, просто щелкнув. Каждый клик сохраняется в истории браузера. Вот почему я передумал хранить текущий scrollTop() для хеша в окне прокрутки окна (слишком много записей полностью отменили бы кнопку в браузере). – Saix