모바일 브라우저는 잦은 캐시 삭제로 오랜 시간 적용해야 할 데이터의 경우 서버에 저장해줄 필요가 있다고 봅니다
localStorage 라는 객체입니다. IE8이상부터 지원하지만 지원하지 않는 브라우저의 경우 아래 링크에 존재하는
Compatibility 부분을 스크립트에 붙여넣어 지원해줄 수 있습니다.
https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage
IE 계열이 기본적으로 지원하고 있지 않아 위의 스크립트를 사용해주어야 할 것입니다.
localStorage.getItem( key )
localStorage.setItem( key, val )
localStorage.removeItem( key )
getItem: key 값에 할당한 데이터를 불러옵니다. string 값으로 넘어옵니다.
setItem: key 값에 val이라는 데이터를 저장합니다. string으로 변환되어 저장됩니다.
removeItem: key 값에 할당된 데이터를 지웁니다.
예를들면 '오늘 하루동안 이 창 보지 않기' 같은 기능을 만들 때 편하게 만들 수 있습니다.
var viewPopup = true;
if(localStorage.getItem("time") != undefined)
{
var t = new Date(parseInt(localStorage.getItem("time")));
var n = new Date();
if(t.getDate() != n.getDate())
{
localStorage.removeItem("time");
}
else
{
viewPopup = false;
}
}
if(viewPopup)
{
/* 실행할 코드 */
}
/* 오늘 하루 보지 않기 기능을 위한 함수
(해당 함수를 버튼에 할당해 누르면 time이라는 localStorage에 현재 시간이 저장됨) */
function nvtoday()
{
var t = new Date();
localStorage.setItem("time", t.getTime());
}
응용 방법은 많습니다. 화이팅!