묻고답하기
자바스크립트 쿠키 질문이여
2010.07.17 23:13
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language=javascript>
function aa(ac){
QQ = document.cookie.match(/\d+/); // 쿠키에서 숫자만 추출
//names = getCookie("NAMES")
if(QQ=="")
{
QQ=0;
}// 숫자가 없으면 0을 세트
document.cookie = ac+":"+(++QQ); // 추출된 숫자에 1을 더해 쿠키에 저장
return QQ-1; // 증가하기 전값을 반환
}
var d = aa("QQ") // 쿠키에저장된 카운트값 저장
if(!d){ // 카운트값확인
aa = 1
document.write("하이 첫번째임?")
}
else {
aa = parseInt(d) +1
document.write(aa+"번째네") // 카운트값 더함
} // 화면 출력
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
이렇게하면 자바스크립트를 이용한 쿠키 카운터가 되는데
여기서 쿠키값이 뭐죠
날짜를 이용해서 3일간 컴퓨터에 저장하려면 어떻게 해야하죠
쿠키네임을 어떻게 저장하죠
자바스크립트에서 쿠키를 설정하려면...
document.cookie = '쿠키 이름=값; path=유효경로; expires=만료일;';
와 같이 작성합니다.
소스를 보면 aa 함수가 ac 라는 값을 쿠키 이름으로 받아서 쿠키를 설정하고 있군요.
만료일은 GMT 날짜로 하면 되는데 3일 뒤라면 간단히 다음과 같이 할 수 있습니다.
var d = new Date;
d.setDate(d.getDate() + 3);
document.cookie = ac+'='+(++QQ)+'; path=/; expires='+d.toGMTString()+';';