본문 바로가기
IT 자료

오늘 하루 보이기 않기 (쿠키 사용하자)

by 성곤 2015. 3. 24.
반응형


"코딩은 딱히 어렵지 않다. 우리는 복사 붙여넣기를 잘 못할 뿐이다." -작자 미상



test_pop.html


test_pop_origin.html





function setCookie(cname, cvalue, exdays) 에 대해서 설명한다.


쿠키를 만드는 것이다.


setCookie(cname, cvalue, exdays);

cname = 쿠키 이름

cvalue = 쿠키 값

exdays = 쿠키 만료일



function getCookie(cname) 에 대해서 설명한다.


쿠키 값을 가져오는 것이다.


var cvalue = getCookie(cname);

cname(쿠키 이름)을 적으면 해당 쿠키 이름의 값(value)을 가져온다.



function은 만들어져 있으니 우리는 그냥 복사붙여넣기 잘하고 쓰면된다.




간단하다.


getCookie(cname)를 사용해서 쿠키의 값을 확인하고, 

쿠키의 여부에 따라서 팝업창을 띄워주냐마나를 만들 수 있다.


팝업창을 띄워주면, "오늘 하루 보이지 않기'라는 이벤트(checkbox 라던가..)를 만들어주고,

해당 이벤트를 실행하면 setCookie(cname, cvalue, exdays)를 사용해서 쿠키의 값을 만들어준다.






부모창 스크립트

===================================================================

$(document).ready(function(){
   
    alert("쿠키 값 : "+getCookie("showCookies"));
    $("#btn").click(function(){
        $(this).hide();
    });
   
    if(getCookie("showCookies") != "N"){
       
        var url = "test_pop.html";
       
        setCookie("showCookies", "Y", 1);
        window.open(url,'test_pop.html','width=780px,height=640px');
    }

   
});

function setCookie(cname, cvalue, exdays) {
    //the name of the cookie (cname)
    //the value of the cookie (cvalue)
    //the number of days until the cookie should expire (exdays)
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
   
}


function getCookie(cname) {
    //Take the cookiename as parameter (cname)
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
    }
    return "";
}


===================================================================



팝업창 스크립트

===================================================================

    $(function() {

        $("#check_all").click(function() {
                   
            var now = new Date();
            var val = "";
            var today = 1;

            now.setDate(now.getDate() + today);

            if (this.checked == true) {
                val = "N";
                setCookie("showCookies", val, today);
               
            } else {
                val = "Y";
                setCookie("showCookies", val, today);
            }
        });
    });

   
    function setCookie(cname, cvalue, exdays) {
        //the name of the cookie (cname)
        //the value of the cookie (cvalue)
        //the number of days until the cookie should expire (exdays)
        var d = new Date();
        d.setTime(d.getTime() + (exdays*24*60*60*1000));
        var expires = "expires="+d.toUTCString();
        document.cookie = cname + "=" + cvalue + "; " + expires;
       
        window.close();
    }

===================================================================




출처 : http://www.w3schools.com/


반응형