본문 바로가기
카테고리 없음

Mobile Safari, Mobile Chrome에서 Back버튼 클릭시 Cache 무시하기

by 철이아부지 2011. 1. 24.
정말 정말 고생했다..

헤더에 틀림없이 

Pragma: no-cache
Cache-Contro: no-cache, no-store, max-age=1, must-revalidate
Expires: 0

까지 다 넣어 준 상태에서.. Back button 누르면 설정 다 무시하고 Cache에서 읽어 온다.
이게 모바일 브라우저 놈들만 그러더라는 말이지.. ㅠㅠ

캐쉬에서 적재되어 화면이 올라올때 먼 이벤트라도 발생해주면 어떻게든 해보겠는데 ㅡㅡ 잡히는 이벤트 하나 없다. onload 조차도..

이틀을 고생했는데.. 다음과 같은 신이 내린 코드 한줄로 해결되었다

<body onunload="">

onunload=""... 왜 이걸로 해결이 되지? ㅡㅡ; 뭐 하여튼... 문제는 풀렸으니..

저게 동작되어 신기한 것 보다는.. onunload="" 를 알아내기 위해 뺑이 치셨을 인터넷에 글 올려주신 아주 아주 훌륭하신 분께 감사를 드리오며... ㅠㅠ 이짓도 해먹을 짓이 아님을 격하게 깨닫고 있는중...


드디어 왜 저게 동작하는지 알아냈음..

http://qyleekr.blogspot.kr/2011/01/webkit-page-cache-ii.html


일반적인 웹 브라우저는 onunload를 포함한 페이지를 캐싱할 경우 해당 이벤트가 여러번 실행되는 문제를 갖고 있기 때문에 아예 캐싱을 안한다는 이야기네.