AngularJS + Safari : Force page to scroll to top when pages switch

标签 angularjs safari

我使用 AngularJS 有一个奇怪的、仅限 safari 的滚动行为。

每当用户在页面之间翻转时,页面就会像 AJAX 一样被更改。我知道它们在 AngualrJS 中,但由此产生的行为是当用户切换页面时浏览器不会滚动到顶部。

我试图在使用新 Controller 时强制浏览器滚动到顶部,但它似乎没有做任何事情。

我在每个 Controller 的顶部运行以下 JS:
document.body.scrollTop = document.documentElement.scrollTop = 0;
这也是 Safari 独有的错误,当页面更改时,所有其他浏览器都会滚动到顶部。有没有人遇到过类似的问题或想出更好的方法来解决它?

最佳答案

你试过使用 $anchorScroll() 吗?已记录在案 here .

关于AngularJS + Safari : Force page to scroll to top when pages switch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18218868/

相关文章:

html - SVG 中的剪切路径在 Safari 中不起作用

javascript - 通过指令的多个 AngularJS $http 请求正在阻止其他 JavaScript 方法

javascript - AngularJS orderBy 使用字典顺序,即使是数字

angularjs - 使用 Angular js 的 Tinymce 编辑器无法在 IE 上运行

javascript - safari 浏览器上的光标高度太高,但在 chrome 上还好

google-chrome - 使用 Chrome 或 Safari 强制 HTTP/2

javascript - 使用键值结构清除 Angularjs 中的列表或字典

javascript - 如何根据 AngularJS 中另一个选择中的选择索引更改选择标签的内容?

html - 浏览器正在加载两张图片——一张用于 srcset,一张用于 src(Chrome 41 等)

html - 单击 UIWebView 时如何在 Safari 中打开链接?