首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于AngularJS web应用程序:当使用后退按钮导航回网页时,网页不会记住它们最后的滚动位置。为什么?如何修复?

对于AngularJS web应用程序:当使用后退按钮导航回网页时,网页不会记住它们最后的滚动位置。为什么?如何修复?
EN

Stack Overflow用户
提问于 2013-06-14 12:16:12
回答 2查看 897关注 0票数 11

在浏览AngularJS的开发人员指南时,我注意到当使用back按钮导航回页面时,我没有返回到最后一个滚动位置。相反,我直接回到了顶端。由于开发人员指南是用AngularJS构建的,我担心,当我用AngularJS构建自己的web应用程序时,如果他们有同样的体验,会让我的用户感到恼火。为什么会发生这种情况,以及如何修复它?我需要以某种方式使用HTML5的历史API吗?

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

EN

回答 2

Stack Overflow用户

发布于 2014-02-06 03:03:37

如果你想解决这个问题,我可以想出一个办法,在地图中(在服务中或在rootScope上)跟踪每个路线滚动位置-当你离开页面($routeChangeStart listener)时,只需将滚动位置与路线路径一起保存即可。

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

票数 8
EN

Stack Overflow用户

发布于 2014-02-12 09:33:34

您应该研究一下Angular $anchorScroll服务。

http://docs.angularjs.org/api/ng.$anchorScroll

这正是您的场景!示例代码很好地说明了问题本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17100989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档