본문 바로가기
[개발] Programming/Javascript

자바스크립트 쿠키로 하루 동안 팝업창 노출하지 않기

by eatyourKimchi 2018. 10. 29.

소스 동작 방식

팝업 창에서 '오늘 하루 동안 팝업창 닫기'를 클릭할 경우 창이 닫히고

아래 closePop()을 호출하여 쿠키를 구운 뒤 스크립트에서 쿠키를 검사하여 기간 동안 노출 되지 않도록 한다.


스크립트 소스

if(!checkPoupCookie("close")){

  window.open('팝업창'); 

}


function checkPoupCookie(cookieName){

  var cookie = document.cookie;


  if(cookie.length > 0){ // 현재 쿠키가 존재할 경우


    // 자식창에서 set해준 쿠키명이 존재하는지 검색

    startIndex = cookie.indexOf(cookieName);


    if(startIndex != -1){ // 존재 한다면

      return true;

    }else{

      // 쿠키 내에 해당 쿠키가 존재하지 않을 경우

      return false;

    }

  }else{

    // 쿠키 자체가 없을 경우

    return false;

  }

}


function setCookie(name, value, expiredays){

  var d = new Date();

  d.setDate(d.getDate() + expiredays);

  document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + d.toGMTString() + ";";

}


function closePop(){

  // 하루 동안 close 라는 쿠키 유지

  setCookie("close","close",1);

  window.close();

}

</script>




[출처] http://seongilman.tistory.com/194

댓글