나를 망치러 온 나의 구원자 bf캐쉬 #28
Replies: 4 comments 9 replies
-
사실 bf 캐쉬때문이 아닌 이유 : fetch가 새로 됐기 때문. |
Beta Was this translation helpful? Give feedback.
-
BFCache정의: The bfcache is a snapshot of the entire page in memory(including the JavaScript heap)
문제 상황1. (뒤로가기/앞으로가기시) BFCache로 인해 로그를 전송하는 코드가 호출 되지 않음. |
Beta Was this translation helpful? Give feedback.
-
해결 방법정석인지는 모르겠다만 두가지 방법을 생각해보았다... 1. ref와 스크롤 위치 저장사용자가 특정 게시글을 보고 있을 때 그 시점의 DOM 요소와 스크롤 위치를 전역상태관리에 저장한다. 2. Intersection Observer 설정마지막으로 본 dom 의 ref를 저장하고 페이지를 다시 로드하거나 돌아왔을때 저장된 요소로 스크롤을 이동시킨다. |
Beta Was this translation helpful? Give feedback.
-
무한스크롤 방식으로 구현된 갤러리같은 뷰는 뒤로가기를 처리하기 굉장히 복잡하더라고요. 스크롤 위치도 말씀하신것처럼 복구하기 어려웠고요. 이런방식으로 구현하면 어떨까요? 무한스크롤 갤러리가 있다고하면 요소를 눌러서 이동하는 행위를 사실. 거대한 모달창처럼 dom을 만들어서 갤러리위에서 새 페이지인양 처리하는거죠. 그리고 뒤로가기 누르면 위에 떠있는 dom element를 삭제해서 다시 갤러리가 보이게 하고요. |
Beta Was this translation helpful? Give feedback.
-
"뭐...bf캐쉬가 있으니까 알아서 해주지 않을까요............ 긁젹"
저는 벨로그를 굉장히 많이 애용하는데요. 가끔 벨로그나 원티드같은 플랫폼을 사용하다 뒤로가기를 하면 원하던 위치로 가지 않는 현상이 떠올랐습니다.
게시글을 보고 있는 도중에 상세보기를 클릭했습니다. 하지만 너무 활발한 커뮤니티인 탓에 게시글 업데이트 속도가 매우 빠릅니다. 이로 인해 내가 기억하고 있던 게시글 위치에 너무 많은 업데이트가 발생했습니다. 결과적으로, 브라우저 캐시는 내가 기억한 게시글의 위치를 보존하고 있지만, 실제 위치가 정확하지 않게 되었습니다.....
뭐... 영상으로 보면 이런 상황입니다...
2024-10-13.6.57.19.mov
*구현보다 영상 찍는데 시간이 더 오래걸렸습니다....눙물
해결은 어떻게 하냐고요....? ...... 그래서 이제 해결하러 가보렵니다. 일단 실험은 끝났으니 해결책을 찾아 블로그 글을 써볼 예정입니다.
총총총
[ 과정 ]
키워드 :
scrollRestoration
,bf캐쉬
테스트 환경 구축을 위한 풀스택 무한스크롤 구현
default.mov
Beta Was this translation helpful? Give feedback.
All reactions