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

lio*_*ori 3 ajax pjax

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

我看到的另一个缺点是,当单击后退按钮时,前一页的视口将再次保留,并且不会返回到上一页的内容.

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

Jam*_*ory 5

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

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