티스토리 뷰

IOS에서 페이지가 오픈되었을 때, PageShow event가 실행되는데 이때 bfcache로 페이지가 열렸는지 아니면 아예 처음 새롭게 열린건치 체크할 수 있는 방법이 있다.

바로 다음과 같은 속성을 이용하면 된다.

https://developer.mozilla.org/en-US/docs/Web/API/PageTransitionEvent/persisted

 

PageTransitionEvent.persisted - Web APIs | MDN

The persisted read-only property indicates if a webpage is loading from a cache.

developer.mozilla.org

 

addEventListener('pageshow', (event) => {
	if (event.persisted) {
		console.log('BFCahe 복원');
	}
	else {
		console.log('처음 열림');
	}
});

 

* 번외로 어디선가 본 코드에서는 persisted 말고도 navogator가 몇 번인지 함께 체크했던 것 같다. 정확히 어떤건지 기억이 잘 안나서 검색를 상당히 광범위하게 했더니 아직 찾을 수가 없다-!

 

https://hyermione.tistory.com/126

 

사파리와 파이어폭스 그리고 크롬의 차이점은 bfcache이다. (2탄-상세기록)

bfcache란 js heap까지 포함하여 페이지 전체를 다 캐시로 저장한다. 고로 전체 페이지의 정보가 메모리에 저장되어 있기 때문에 사용자가 이전 페이지로 복귀했을 때, 메모리에 저장된 정보를 노출

hyermione.tistory.com

https://hyermione.tistory.com/129

 

모바일 사파리에서는 pagehide/show를 사용할 것

모바일 safari에서는 beforeunload 대신에, pagehide 함수가 사용된다. - pagehide MDN https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event Window: pagehide event - Web APIs | MDN The pagehide event is sent to a Window when the

hyermione.tistory.com

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함