* 쿠키


1. 쿠키를 저장할 때 document.cookie = "쿠키정보"형식을 사용하는데,

    쿠키 정보 중 꼭 입력해야 하는것이 name이다.


2. 쿠키정보를 다른 사람이 쉽게 알아볼 수 없게 암호화시키는 과정을

    인코딩이라고 하며 escape(쿠키정보)형식으로 사용함.


3. 쿠키정보중 expires는 쿠키의 유효기간을 나타내며, 이 시간이 되면 쿠키는 자동 소멸된다.

    이기간을 정해 두지 않을 경우, 쿠키는 계속해 디스크에 남아있게 된다.


================== 예제 소스 시작 ======================================================

사용자가 ' 하루 동안 보지 않겠다'고 체크하면 그 정보를 쿠키로 저장해 두었다가, 메인 창에서 새창을 열기전에 쿠키부터 확인하는 것이다.

쿠키정보는 팝업창 뿐만 아니라 팝업창의 부모창에도 들어가야한다.

여기선 팝업창을 gongi.html이라하고 부모창을 main.html이라하겠다.

근데 중간중간 소스 해석하기 무지어렵구먼....

선생님이 직접 작성한 소스가 아니라 선생님도 자세한 해석은 안해주심... -.@;


gongi.html  ============================


<script language=""Javascript">
<!--
function closeWin()
{
  if(document.forms[0].Notice.checked)
  {
     setCookie("Notice","done",1);
   self.close();
   }
}

function setCookie(name,value,expiredays)
{
  var todayDate = new Date();
  todayDate.setDate(todayDate.getDate() + expiredays);  // expiredays는 쿠키유효기간
  document.cookie = name + "=" + escape(value) + "; path=/; expired="
  todayDate.toGMTString() + ";"  // 쿠키정보 암호화 

}

// -->
</script>



<form>
       <TD background ="images/gongji_08.gif" WIDTH=308 HEIGHT=44>
  <input type="checkbox" name="Notice" value="ok">
  <font size="2">하루 동안 창 열리지 않음</font>&nbsp;
  <input type="button"  value="닫기" onClick="closeWin()">
    </TD>
  </form>


main.html ============================


<SCRIPT LANGUAGE="JavaScript">
<!--

function setCookie(name,value,expiredays)
{
  var todayDate = new Date();
  todayDate.setDate(todayDate.getDate() + expiredays);
  document.cookie = name + "=" + escape(value) + "; path=/; expired="
  todayDate.toGMTString() + ";" // path= 는쿠키가 저장될 위치 , 위치지정안하면 웹문서가 있는폴더로 저장된다.
}


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("Notice") !="done")

noticeWindow = window.open('gongji.html',"공지","width=400,height=450,top=0,left=0,menubar=no,resizable=no,status=no,toolbar=no,location=no,scrolls=no,directories=no"); 

noticeWindow.opener = self;
}
// -->
</SCRIPT>


================== 예제 소스 끝 ===================================================

+ Recent posts