Backbone getNextPage 后 Chrome 中的分页滚动问题

Backbone pagination scroll issue in Chrome after getNextPage

backbone 和 backbone.pageableCollection 在 'infinite' 模式下的新功能,一切正常,除非我调用以获取下一页。在调用加载下一页后,不是保持滚动位置并在 "as it's supposed to"、Chrome 下加载下一条记录,而且 safari 一直滚动到页面顶部,这让它非常烦人用户必须再次一直向下滚动。这是我用来获取下一页的代码

this.collection.getNextPage({remove: false, silent: true});

在 Firefox 和 Opera 中一切正常,它们都保持滚动位置并加载下一条记录,但 Chrome 和 safari 无法正常工作,它们是我们网络应用程序最常用的浏览器。

我已经尝试了

中的所有方法

var pos = window.pageYOffset; this.collection.getNextPage({remove: false, silent: true}); window.scrollTo(0, pos);

设置超时没有任何效果,它总是向上滚动到页面顶部

setTimeout(function() {window.scrollTo(0, pos);}, 1);

在这一点上,为了 Chrome 和 Safari 保持滚动位置,我遇到了一个解决方案。

任何帮助将不胜感激。

终于找到了一个在所有浏览器中都能保持滚动位置的解决方案。如果有人知道为什么得到解释会很棒,谢谢!

var pos = window.pageYOffset;

this.collection.getNextPage({remove: false, silent: true});

$("html,body").animate({ scrollTop: pos }, "slow");