본문 바로가기

Study/JavaScript

[javaScript] 쿠키

쿠키
- 인터넷 웹사이트의 방문기록을 남겨 사용자와 웹사이트 사이를 매개해 주는 정보
쿠키 구성
name=value; expires=[Date]; domain=[Domain]; path=[Path]; [secure]

 

<html>
<head><title>예제 12-1</title></head>
<body>
<script language="JavaScript">
//GetCookie - 쿠키를 가져온다
var username = GetCookie('usernam');
var count = GetCookie('count');

if (username == null) {
  count = 0;
  username = prompt('이름을 입력해 주십시오.',"");

  if (username == null) {
    alert('이름을 입력하시면 보다 나은 서비스를 제공받을 수 있습니다.');
    username = '아무개';

  } else {
   //쿠키의 유효기간
    var expire = new Date ();
    //쿠키의 유효기간의 설정(여기선 1년동안 지속되게 하겠다는 뜻)
    expire.setTime(expire.getTime() + (365 * 24 * 3600 * 1000));
    SetCookie('usernam',username,expire);
  }
}

//올 때마다 계속 저장을 해 주고, count값을 올려준다
count++;
SetCookie('count',count,expire);


function GetCookie (name) {
        var first;
        var str = name + "=";
        var ar = document.cookie.split("; ");

        for(var i=0; i<ar.length; i++) {
         var c = ar[i];
         //name과 value값을 구분하기 위한 식
         var nv = c.split("=");

         if(nv[0] == name)
         //unescape로 value값을 가져와서 리턴
           return unescape(nv[1]);

        }
        return null;
}

function SetCookie (name, value, expireDate) {

 //escape 한글 깨짐현상 방지
//cookieStr > (expireDate값이 널값일 때)name=value;expries=expireDate

 var cookieStr = name + "=" + escape(value) + 

        ((expireDate == null)?"":("; expires=" + expireDate.toGMTString()));

        document.cookie = cookieStr;

}

document.write('<p>어서오십시오. '+username+'님의 '+count+'번째 방문을 환영합니다!');
</script>
</body>
</html>


실습>> 쿠키 parent_popup.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<script type="text/javascript">

//재사용
function GetCookie (name) {
    var first;
    var str = name + "=";
var ar = document.cookie.split("; ");
for(var i=0; i<ar.length; i++) {
var c = ar[i];
//name과 value값을 구분하기 위한 식
var nv = c.split("=");
if(nv[0] == name)
//unescape로 value값을 가져와서 리턴
return unescape(nv[1]);
}
return null;
}

//popup창을 NO가 아닐 때만 창을 띄운다
if(GetCookie("pop1") != "NO") {
window.open("1.html", "test", 
"left=32, top=112, width=362, height=360, scrollbars=no, toolbars=no, resizable=0");
}
</script>
</head>
<body>
실행은 부모.html에서 합니다
</body>
</html>

child_popup.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<script type="text/javascript">
function setCookie (name, value) {
 //expireDate 유효기간 설정
  var expireDate = new Date();
  expireDate.setTime(expireDate.getTime() + (24*3600*1000));
  //재사용 가능
  var cookieStr = name + "=" + escape(value) + 
         ((expireDate == null)?"":("; expires=" + expireDate.toGMTString()));
         document.cookie = cookieStr;
}
//popup창을 띄우고 NO라 입력받으면 창 종료
function pop() {
 setCookie("pop1", "NO");
 window.close();
}
</script>
</head>
<body topmargin="0" leftmargin="0">
<table width="362" height="330" border="0" cellpadding="0" cellspacing="0" >
 <tr>
  <td valign="top">aa</td>
 </tr>
</table>
<table width="362" border="0" cellpadding="0" cellspacing="0">
 <tr height="30">
  <td bgcolor="#000000" style="color: #FFFFFF;" align = "right">
  오늘 하루 이 창을 열지 않음  
  <input type="checkbox" onclick="pop()">  </td>
 </tr>
</table>
</body>
</html>

 

'Study > JavaScript' 카테고리의 다른 글

[javaScript] Dom Script 실습  (0) 2019.05.16
[javaScript] Dom Script  (0) 2019.05.16
[javaScript] Document 실습  (0) 2019.05.16
[javaScript] Document  (0) 2019.05.16
[javaScript] Form  (0) 2019.05.16