我在我的网站上通过无限滚动加载了新页面。每次加载新页面时,我都会使用 HTML5 pushstate API 更新 url:
if(history.pushState) {
history.pushState(null, null, '/page:' + current_page);
}
我的网址如下所示:
http://mysite.com.com/page:1
http://mysite.com.com/page:2
http://mysite.com.com/page:3
等等...
当用户单击列表中的一个项目(例如在第 2 页上)然后单击返回按钮时,他将返回到:
http://mysite.com.com/page:2
但是,他不是在页面顶部,而是在他单击的部分。由于 page:2 现在加载在最顶部,因此他所在的部分重新加载了第 3 页,而他正在查看该页面中的帖子。
有没有办法让用户在每次点击后退按钮时回到页面顶部?
我尝试在页面加载时使用锚标签和 javascript 滚动,但两者都不可行,因为在用户被带到顶部之前有几次跳转。
我见过的使用无限滚动的后退按钮的最佳示例是http://imgur.com,但我不知道他们是如何做到的。