Javascript 使用无限滚动实现backbutton
我的网站上有通过无限滚动加载的新页面。每次加载新页面时,我都会使用HTML5 pushstate API更新url:Javascript 使用无限滚动实现backbutton,javascript,jquery,browser,Javascript,Jquery,Browser,我的网站上有通过无限滚动加载的新页面。每次加载新页面时,我都会使用HTML5 pushstate API更新url: if(history.pushState) { history.pushState(null, null, '/page:' + current_page); } 我的URL如下所示: http://mysite.com.com/page:1 http://mysite.com.com/page:2 http://mysite.com.com/page:3 等等 当用
if(history.pushState) {
history.pushState(null, null, '/page:' + current_page);
}
我的URL如下所示:
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
但他不是在页面的顶部,而是在他点击的部分。由于第2页现在加载在最顶部,因此他所在的部分将重新加载
第3页,他正在看那页的帖子
是否有办法让用户在每次单击“后退”按钮时返回页面顶部
我尝试在页面加载时使用锚定标记和javascript滚动,但这两种方法都不可行,因为在用户被带到顶部之前会有几次跳跃
我所见过的backbutton使用无限滚动的最好例子是,但我不知道它们是如何实现的。github上有一个名为的库,它似乎可以满足您的需要。您可以使用history
选项对其进行初始化,该选项将在您滚动页面时更新url的哈希值。唯一的问题是,为了使用库,您必须更改加载数据的方式
jQuery.ias({
....
history:true,
....
});
你也可以看看Tumbdry.org上的博客文章,它解释了一些更接近你正在尝试做的事情,但我认为它并没有得到很好的实现