쿠키 활용법
쿠키설정하기
function setCookie( name, value, expiredays )
{
var todayDate = new Date();
// todayDate.setHours(0,0,0,0);//이부분이 추가되면 그날 24시 00분으로 삭제된다.
todayDate.setDate( todayDate.getDate() + expiredays );
// 아래 domain=" + ".onstory.fun"+";" 는 옵션
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + "; domain=" + ".onstory.fun"+";";
}
설정된 쿠키값 가져오기
function getCookie( name ) {
var nameOfCookie = name + "=";
var x = 0;
while ( x <= document.cookie.length )
{
var y = (x + nameOfCookie.length);
// document.cookie : cookie1=value1; cookie2=value2;...
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 "";
}
자주 사용하는 팝업창 관련 스크립트
팝업창을 띄우는 본문에 삽입 자바스크립트 시작
var cookieval = new Date();
cookieval = cookieval.getTime();
var rStr_1 = "" + Math.random();
var rStr_2 = "" + Math.random();
var rStr_3 = "" + Math.random();
var rStr_4 = "" + Math.random();
var rStr_5 = "" + Math.random();
rStr_1 = rStr_1.charAt(2);
rStr_2 = rStr_2.charAt(2);
rStr_3 = rStr_3.charAt(2);
rStr_4 = rStr_4.charAt(2);
rStr_5 = rStr_5.charAt(2);
cookieval = cookieval + rStr_1 + rStr_2 + rStr_3 + rStr_4 + rStr_5;
// 쿠키를 확인하여 쿠키가 설정되지 않은 경우
if ( getCookie( "Notice" ) != "done" )
{
noticeWindow = window.open('./popup.html','PopUpWindow','');
noticeWindow.opener = self;
}
팝업창 삽입 자바스크립트 시작
popup.html
function closeWin()
{
if ( document.forms[0].Notice.checked )
//만약 새창에서 여러개의 form 을 사용하고 있으면 forms[0] 에서 공지창 안띄우기 form의 순서(0부터 시작)로 고쳐줍니다. 예: forms[4]
setCookie( "Notice", "done" , 1);
self.close();
}
오늘 하루 이창 열지 않음
<input type="checkbox" name="Notice" value="checkbox">
<a href="javascript:onclick=closeWin()">[닫기]</a>