pjax(基于ajax的页面加载)和用户滚动

时间:2011-11-29 15:29:07

标签: ajax pjax

假设我有很少的长页面,我想使用pjax。当我将一个页面滚动到最后,然后单击一个调用pjax reload的链接,然后第二个页面的视口从页面末尾开始(没有pjax,浏览器将从页面顶部开始)。

我看到的其他缺点是,当点击后退按钮时,前一页面的视口会再次保留,并且不会返回到上一页的内容。

这种行为很烦人且无法使用。是否可以使用pjax模拟标准浏览器的行为?

1 个答案:

答案 0 :(得分:5)

我的解决方案是绑定到pjax:end事件,然后将页面滚动到顶部;唯一的缺点是后退按钮仍然不记得滚动位置,并始终从顶部开始。

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