본문 바로가기

Programming/Script

하루동안 팝업창 띄우지 않기

팝업 띄울 페이지의<head></head>사이

<script type="text/javascript">
<!--
function getCookie( name ) {
    var nameOfCookie = name + "=";
    var x = 0;
    while ( x <= document.cookie.length ) { 
        var y = (x + nameOfCookie.length); 
        if ( document.cookie.substring( x, y ) == nameOfCookie ) { 
            if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 ) 
                endOfCookie = document.cookie.length; 
            return unescape( document.cookie.substring( y, endOfCookie ) ); 
        } 
        x = document.cookie.indexOf( " ", x ) + 1; 

        if ( x == 0 ) 
            break;
    }
    return "";
}

if ( getCookie( "popup" ) != "done" ) {
    noticeWindow = window.open('팝업파일명','popup','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=580,height=380');
    noticeWindow.opener = self;
}
// -->
</script>

 

새창의 <head></head>의 사이

<script type="text/javascript">
<!--
function setCookie( name, value, expiredays ) {
    var todayDate = new Date();
    todayDate.setDate( todayDate.getDate() + expiredays );
    document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

function closeWin() {
    if ( document.forms[0].popup.checked ) 
        setCookie( "popup", "done" , 1);     
        // popup이라는 name에 done이라는 value값을 1일동안 입력
    self.close();
}
// -->
</script>

그리고 체크박스는 아래처럼 이름을 스크립트에 선언한대로(popup) 하고, form 태그로 열고 닫아야 한다.
<form name="form">
    <input type="checkbox" id="popup" name="popup" value="">
    <font size="2" face="돋움">다음 접속시 이 창을 열지 않음</font>
    <a href="javascript:onclick=closeWin()">닫기</a>
</form>

하단부의 setCookie() Function에서 숫자1을 원하는대로 수정하면 숫자만큼의 일수동안 창이 열리지 않는다.

출처: http://www.eguweb.co.kr/

'Programming > Script' 카테고리의 다른 글

Ajax - XMLHttpRequest  (0) 2012.04.27
Ajax란?  (0) 2012.04.27
HTML 4.0 Special Entities  (0) 2012.04.16
자주쓰는 공통스크립트  (0) 2012.04.13
div 숨기기 / 보이기  (0) 2012.04.10