[英]Infinite scroll back button without .pushstate
我有一個使用無限滾動系統加載我所有帖子的網站。 一切都很好,除了在 Chrome 中,有時在 Firefox 中,當用戶單擊帖子,然后單擊后退按鈕時,頁面完全從頂部重新加載,無需向下滾動到用戶的最后位置。 我研究了一些解決方案,其中一個是實現.pushState
系統來更新 url,但希望將其保存為最后的手段。
我注意到像http://imgur.com和http://buzzfeed.com這樣的網站都實現了無限滾動系統,但是當用戶單擊帖子然后單擊后退按鈕時,它會將它們返回到最后的位置不使用.pushState
更新網址。 他們是怎么做到的呢? 謝謝,朱利安
這是一個基於以下 repo 的具有顯着點的示例。
pushState
並使用唯一的uuid
推送到窗口歷史對象。window.history.state.uuid
現在可以作為我們可以查詢的內容。window.scrollY
,通過uuid
將其存儲在緩存中。onpopstate
)時,我們可以使用當前window.state.uuid
查詢我們的緩存,檢索scrollY
位置並調用window.scrollTo(scrollY)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.