Offline Application Cache라................

MANIFEST 적용하는 것에 따라서 많은 버그(?)가 있는거 같다.


(사용자 버그일지도..)


아무튼


MANIFEST가 적용되는 순서는 다음과 같다.


MANIFEST 적용 순서

페이지 로딩

-> 캐쉬 업데이트 확인

-> 캐쉬 업데이트


여기서 문제점..

서버에서 가져온 값을 가지고 설정을 했을 경우!

이게 캐쉬에 들어가기 때문에 매번 업데이트되지 않는다.


로그인에서 문제가 되었는데..


이런 식으로 해결했다.


로그인/로그아웃을 하고 

강제로 캐쉬 업데이트 window.applicationCache.update()

window.applicationCache.onupdateready = function (e){

  // 업데이트가 완료되고 난 이후에 실행되는 부분을 넣기

}


하지만 캐쉬가 업데이트 되었다고 해서

업데이트된 페이지가 보이는 것은 아니다.

그래서 페이지를 reload() 라던가 해서 다시 페이지를 불러와야 한다.


MANIFEST 문제점 해결방법


페이지 로딩

-> 캐쉬 업데이트 확인

(MANIFEST가 마지막에 불러왔을 당시의 MANIFEST 파일과 한글자라도 바뀐 상태여야 한다.

 - 그래야 업데이트 된 상태라고 판단)

-> 캐쉬 업데이트

(하지만 현재 보이는 페이지에는 업데이트된 페이지가 보이지 않는다.)

-> 페이지 재로딩

(새롭게 바뀐 페이지가 보인다.)




암튼...

MANIFEST 뭔가 이상해.. ㅠㅠ



참고 URL


http://www.jefclaes.be/2012/04/visualizing-offline-application-cache.html

http://bluemarble.tistory.com/111

https://developer.apple.com/library/safari/#documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html




Posted by Mooki
,