zoukankan      html  css  js  c++  java
  • angular 1.26 版本 window.history.back() 自动去顶部

    在1.26版本,在url ("www.example.com#xx"),接着按back,会自动调到顶部,这是因为angular的默认设置

    只要在config注入$AnchorScrollProvider, 接着跑这个就行了$anchorScrollProvider.disableAutoScrolling();

    奇怪的是,chrome游览器本来就没有问题,这回会认为不需要改默认设置,但是在不是chrome游览器就会发现这问题。

    误区:

    chrome在window.history.back时,会马上拿到当下的pageYOffeset,然后在回去之前的位置

    FF游览器会拿不到当下的pageYOffset,但是还是可以回到之前给hash前的位置。

    以上过程都可以回到原本的位置,但是在拿pageYOffset就是不一样。

    在原码会发现,angular是要scroll 去顶端,但是在没有设置默认为disable时,chrome应该是要scroll去顶端,但是没有(这是bug)

    *此测试只在chrome和firefox进行

    游览器逻辑

    var scrollTop = window.pageYOffset|| document.documentElement.scrollTop || document.body.scrollTop;
    when history back : 
    chrome 先跑event
    firefox 先跑scroll
  • 相关阅读:
    CSS 基础语法
    标签
    HDU 5487 Difference of Languages BFS
    HDU 5473 There was a kingdom 凸包 DP
    HDU 5468 Puzzled Elena 莫比乌斯反演
    BNU 3692 I18n 模拟
    补题列表
    POJ 3241 曼哈顿距离最小生成树 Object Clustering
    UVa 1309 DLX Sudoku
    CodeForces Round #320 Div2
  • 原文地址:https://www.cnblogs.com/stooges/p/4191496.html
Copyright © 2011-2022 走看看