DS's『 행복합시다 』

Carpe Programming/javascript

[cookie] beforeunload, 팝업 중복 체크 등

nolite 2013. 2. 19. 10:36
반응형

[cookie.js]

 

function getCookie(name) {
    var Found ;
    Found = false ;
    var start, end ;
    var i = 0 ;

    while (i <= document.cookie.length) {
        start = i ;
        end = start + name.length ;

        if(document.cookie.substring(start, end) == name) {
            Found = true ;
            break ;
        }
        i++ ;
    }

    if(Found == true) {
        start = end + 1 ;
        end = document.cookie.indexOf(';', start) ;

        if(end < start) {
            end = document.cookie.length ;
        }

        return document.cookie.substring(start, end) ;
    }

    return false ;
}

function setCookie(name, value, expire_days) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expire_days);
    var c_value = escape(value) + ((expire_days == null) ? '' : '; expires=' + exdate.toUTCString());
    document.cookie = name + '=' + c_value;
}


-------------------------------------------------------------------------------------------------------------------

 

[창 열기]

  // 팝업이 띄어져 있는지 체크
  if(getCookie("siteMovie") == 'true')
  {

//안 띄워져 있으면 open

window.open('', "siteMovie", '').focus();

  }

 


[팝업창]

var checkUnload = true;

 

$(document).ready(function(){

    //open하면서 쿠키 set

    setCookie("siteMovie","true", 1);

});

 

 

//창 닫기나 이동 시 쿠키 삭제
$(window).on("beforeunload", function(){
    if(checkUnload) {
        //팝업창 체크 쿠키 삭제
       setCookie("siteMovie",'', 1);
    }
});

 

 

//조회나 페이지 이동 시에도 쿠키가 삭제되는 것을 막기 위해 submit 전에 checkUnload 값 변경

checkUnload = false;

 

 

[참조] - http://blog.naver.com/hanuljyw?Redirect=Log&logNo=171131829

 

728x90
반응형

'Carpe Programming > javascript' 카테고리의 다른 글

[byte 계산] 문자열 자르기  (0) 2013.11.05
[javascript] window.open 옵션  (0) 2013.02.01
[정규식] 정규식 정리  (0) 2013.01.21
ajax 전송 시 한글 깨짐  (0) 2012.12.12
웹에서 한글(hwp) 파일 표출하기  (0) 2012.12.11