Mobile Safari:JS事件,用于在刷新时跳转到最后一个滚动位置

Mobile Safari: JS event for jump to last scroll position on refresh

本文关键字:最后一个 位置 滚动 刷新 Safari JS 事件 用于 Mobile      更新时间:2023-09-26

当页面刷新,Safari"跳"回您所在的滚动位置时,是否有Javascript事件可以触发?

这非常令人沮丧,因为scroll事件只在用户/触摸感应的滚动上触发,所以在这种情况下不会触发。我需要特别找到一种绑定到该事件的方法,例如,DOMContentLoaded甚至在此之前就触发了,而窗口的load事件会触发得太晚,因为这将等待加载所有内容。

原因是我正在检查元素是否在视图中(使用getBoundingClientRect)。

我是不是遗漏了什么?由于我使用的不是jQuery,而是香草JS,所以我没有document.ready()可以尝试(尽管从它的源代码来看,我怀疑它是否可行)。

经过一些实验,发现window上的load/onload事件在Safari Mobile(可能还有其他浏览器)中触发了这种跳跃,因此绑定到该事件就足够了。

我希望这能帮助到别人!