2014-09-10 86 views
1

是否有一個JavaScript事件,我可以掛鉤進入該頁面,當頁面刷新觸發,並Safari瀏覽器跳轉回到您所在的滾動位置?移動Safari:JS事件跳轉到上次滾動刷新位置

這是非常令人沮喪的,因爲scroll事件只觸發用戶/觸摸滾動,所以在這種情況下不會觸發。例如,我需要專門找到綁定到該事件的方法,例如在此之前觸發DOMContentLoaded,並且窗口的load事件將觸發得太晚,因爲這將等待所有內容加載。

原因是我正在檢查一個元素是否在視圖中(使用getBoundingClientRect)。

我在這裏錯過了什麼嗎?由於我沒有使用jQuery,而是vanilla JS,所以我沒有document.ready()嘗試(儘管根據source code of it來判斷,我懷疑它會起作用)。

回答

1

一些試驗後,事實證明,在windowload/onload事件觸發這一跳在Safari移動(可能其他瀏覽器也是如此),因此結合該事件就足夠了。

我希望這可以幫助別人!

+0

這看起來不正確,至少這不是我所看到的。它看起來設置初始滾動位置不與負載事件相關,並可能發生在它之後。 – 2017-06-03 07:57:32

+0

已經差不多三年了,所以毫無疑問事情已經改變...... – 2017-06-03 19:51:47