pjax (загрузка страниц на основе ajax) и пользовательская прокрутка - PullRequest
3 голосов
/ 29 ноября 2011

Предположим, у меня есть несколько длинных страниц, и я хочу использовать pjax . Когда я прокручиваю одну страницу до конца, затем нажимаю ссылку, вызывающую перезагрузку pjax, тогда область просмотра второй страницы начинается в конце страницы (в то время как без pjax браузер запускается в верхней части страницы).

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

Это поведение раздражает и не может быть использовано. Можно ли имитировать поведение стандартного браузера с помощью pjax?

1 Ответ

5 голосов
/ 10 декабря 2011

Мое решение для этого состоит в том, чтобы привязаться к событию pjax:end и просто прокрутить страницу вверх; Единственный недостаток в том, что кнопка «Назад» по-прежнему не запоминает положение прокрутки и всегда начинается сверху.

$('#your-container').bind('pjax:end', function() {
  $(window).scrollTop(0);
});
...