[JS] 네비게이션 타이밍 가져오기 (새로고침, 뒤로가기, 네비게이트)
leteu
·2023. 10. 13. 12:57
페이지 새로고침을 통해 화면에 왔을 경우 뭔가 처리를 하고 싶었다.
죄다 beforeunload만 알려주길래 그냥 MDN 뒤져서 찾음.
https://leteu.dev/posts/js-navigation-timing
#1 PerformanceNavigationTiming
이거 쓰면 다 해결됨
window.performance.getEntriesByType('navigation’)
#2 사용법
우리는 바로 전 화면의 타입을 봐야하니 위 코드에서 이렇게 바꿔줄거다
window.performance.getEntriesByType('navigation’)?.[0]?.type
#2-1 navigate
a태그나 location.href로 넘어왔거나 아래 3개의 경우가 아니면 이거다.
#2-2 reload
내가 원하던거다. 새로고침으로 페이지에 들어왔을때 이거로 나온다.
#2-3 back_forward
뒤로가기로 페이지에 오면 이거로 나온다.
#2-3 prerender
다음 라우팅을 위해 페이지 리소스가 필요할 수 있다는 힌트를 브라우저에게 전달해서 가져올때는 'navigate'가 아니라 'prerender'라고 나온다. 사전 렌더링 때는 이거로 나온다는 뜻이다.
'프로그래밍 > Javascript & TypeScript' 카테고리의 다른 글
[JS] 배열 활용 map, filter, reduce, forEach, find 메소드 (0) | 2023.03.04 |
---|---|
[ JS ] 조건문 - If, Switch (0) | 2023.03.04 |
[JS] ES6 백틱 ( ` ) (0) | 2022.01.26 |