타운광장토픽게시판

모바일 브라우저는 잦은 캐시 삭제로 오랜 시간 적용해야 할 데이터의 경우 서버에 저장해줄 필요가 있다고 봅니다

 

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());
}

 

응용 방법은 많습니다. 화이팅!