javascript - 移动版 Safari : JS event for jump to last scroll position on refresh

标签 javascript ios mobile-safari

当页面刷新并且 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/

相关文章:

javascript - 遍历数组并成对输出(每个第二个元素的分隔符)

javascript - mongodb - 数组上的 nin 和正则表达式

ios - 在运行时添加 UI 元素的问题

php - PHP 和 MySQL 的问题

html - Safari Mobile 和对象位置属性

javascript - 如何从 Web 应用程序打开 native iOS 应用程序

javascript - 使用 javascript + Electron + Three.js 构建游戏安全吗?

javascript - ASP Classic 使用哪个版本的 JavaScript?

ios - 如何为 UIImageview 精确地设置书页动画

html - 为什么溢出滚动在移动 webkit 中的 html 标签上不起作用?