Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用无限滚动实现backbutton_Javascript_Jquery_Browser - Fatal编程技术网

Javascript 使用无限滚动实现backbutton

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 等等 当用

我的网站上有通过无限滚动加载的新页面。每次加载新页面时,我都会使用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
等等

当用户单击列表中的某个项目(例如第2页)然后单击“上一步”按钮时,他将返回到:

http://mysite.com.com/page:2
但他不是在页面的顶部,而是在他点击的部分。由于第2页现在加载在最顶部,因此他所在的部分将重新加载 第3页,他正在看那页的帖子

是否有办法让用户在每次单击“后退”按钮时返回页面顶部

我尝试在页面加载时使用锚定标记和javascript滚动,但这两种方法都不可行,因为在用户被带到顶部之前会有几次跳跃

我所见过的backbutton使用无限滚动的最好例子是,但我不知道它们是如何实现的。

github上有一个名为的库,它似乎可以满足您的需要。您可以使用
history
选项对其进行初始化,该选项将在您滚动页面时更新url的哈希值。唯一的问题是,为了使用库,您必须更改加载数据的方式

jQuery.ias({
    ....
    history:true,
    ....
});
你也可以看看Tumbdry.org上的博客文章,它解释了一些更接近你正在尝试做的事情,但我认为它并没有得到很好的实现