对于AngularJS网络应用程序:使用后退按钮导航回网页时,网页不记得最后的滚动位置.为什么?怎么修?

use*_*004 11 browser-history angularjs html5-history

当浏览AngularJS的开发人员指南时,我注意到当使用后退按钮导航回页面时,我不会回到上一个滚动位置.相反,我回到了顶端.由于开发人员指南是使用AngularJS构建的,我担心,当我使用AngularJS构建自己的Web应用程序时,如果他们有相同的体验,它会使我的用户烦恼.为什么会发生这种情况,如何解决?我是否需要以某种方式使用HTML5的历史记录API?

转到开发人员指南并亲自查看此行为:http://docs.angularjs.org/guide/directive

doo*_*eec 8

如果你想修复它,我可以想到在地图中保留每个路径滚动位置的轨迹(在服务中或在rootScope上) - 当你离开页面($routeChangeStart监听器)时,只需保存滚动位置路线路径.

当进入任何页面时,您可以检查路径中是否存在路径记录,并将窗口滚动到$routeChangeSuccess事件上的所需位置