当页面刷新并且 Safari“跳”回您所在的滚动位置时,是否有我可以 Hook 的 Javascript 事件?
非常令人沮丧,因为 scroll
事件仅在用户/触摸引起的滚动时触发,因此在这种情况下不会触发。我需要专门找到一种方法来绑定(bind)到该事件,例如 DOMContentLoaded
,甚至在此之前触发,并且窗口的 load
事件会触发得太晚,因为将等待所有内容加载。
这样做的原因是我正在检查元素是否在 View 中(使用 getBoundingClientRect
)。
我是不是漏掉了什么?因为我没有使用 jQuery,而是普通的 JS,所以我没有 document.ready()
可以尝试(尽管根据 source code of it 判断,我怀疑它是否有效)。
最佳答案
经过一些实验,结果是 window
上的 load
/onload
事件触发了 Safari Mobile 中的这个跳转(大概其他浏览器也是如此),因此绑定(bind)到该事件就足够了。
我希望这对某人有帮助!
关于javascript - 移动版 Safari : JS event for jump to last scroll position on refresh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25775840/