2012-12-02 3 views
4

일부 데이터를 저장하기 위해 로컬 저장소를 사용하고 있습니다 : 사용자가 정보를 얻기 위해 아약스 요청을하고 다음에 동일한 정보를 요청할 때 결과를 저장소에 저장합니다. 저장소에 있는지 확인합니다.로컬 저장소 창 언로드 이벤트

이제 데이터를 메모리에있는 객체에 보관하고 필요할 때 루프 처리하는 것이 로컬 스토리지에 루프 처리하는 것이 더 효율적이라는 것을 알았습니다. 그래서 일부 데이터를 로컬 스토리지에서 메모리 내 객체로 옮길 때 window.unload 이벤트가 일 수 있는지 궁금합니다.은 캐시 객체의 내용을 디스크의 로컬 스토리지에 쓰는 데 사용됩니다. onload 이벤트를 사용하여 다시 검색 하시겠습니까?

감사합니다.

+1

아니요, 자주 작동하더라도 신뢰할 수 없습니다. 하지만 localStorage에서 작성하는 것은 빠릅니다. 객체가 변경 될 때마다 localStorage에 객체를 덤프 할 수는 없습니까?하지만 페이지로드시에만로드 할 수 있습니까? –

+0

@dystroy :이 작업을 수행하는 방법을 보여 줄 수 있습니까? 즉, 객체의 변경 내용을 청취 할 수 있어야합니다. 어떻게 코딩합니까? – frenchie

답변

1

은 많은 경우 (예 : 사용자가 탭을 닫거나 브라우저가 충돌하는 경우) 호출되지 않을 수 있습니다. 예방 조치로 정기적으로 localStorage에 데이터를 저장하지 않는 이유는 무엇입니까?

+0

모든 브라우저가 window.unload를 지원하지는 않습니다. – Biketire

+0

^예, 잠시 후에 모바일 사파리에 문제가 있음을 기억합니다. –

+0

데이터를 정기적으로 저장하는 문제는 페이지에서 데이터가 변경되는 경우 저장소의 데이터도 동기화해야한다는 것입니다. 이것이 실제로 저장소에서 캐시를 제거하기로 결정한 이유입니다. – frenchie