/** * @fileoverview 쿠키 정보를 생성/획득/삭제하는 메소드들 정의 * @author OFFTOM * @version 1.0 */ /** * cookie 정보를 생성한다. * @public * @param {String} name 쿠기 이름이다. 이는 id과 같이 사용될 수 있고 쿠키 파일의 내용으로 저장된다. * @param {String} value 쿠키에 저장할 키의 값 * @param {Number} expiredays 쿠기의 만료 시점. 설정하지 않으면 1년뒤 종료 * @param {String} path 해당 폴더와 하위 폴더의 모든 페이지는 이 쿠키 공유하여 를 접속할 수 있다. * @param {String} domain domain으로 지정한 특정 도메인에서 볼수 있다. * @param {Boolean} true이면 서버에 보내질 때 브라우져가 안전 SSL URL 만으로 요청하여야 함을 암시한다 * @author OFFTON */ function setCookie(name, value, expiredays, path, domain, secure) { var argc = setCookie.arguments.length; var argv = setCookie.arguments; var expiredays = (argc > 2) ? argv[2] : 365; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; var expires = new Date(); expires.setTime(expires.getTime() + 24 * 60 * 60 * 1000 * Number(expiredays)); document.cookie = name + "=" + escape(value) + ((expires==null) ? "" : ("; expires=" + expires.toGMTString())) + ((path==null) ? "" : ("; path=" + path)) + ((domain==null) ? "" : ("; domain=" + domain)) + ((secure==true) ? "; secure" : ""); } /** * cookie 정보를 획득한다. * @public * @param {String} name 쿠기 이름이다. 이는 id과 같이 사용될 수 있고 쿠키 파일의 내용으로 저장된다. * @return 쿠키에 저장된 값. 없을 경우 빈 문자열을 리턴한다. * @type String * @author OFFTON */ function getCookie(name) { var find_flag = false; var start, end; var i = 0; while (i <= document.cookie.length) { start = i; end = start + name.length; if(document.cookie.substring(start, end) == name) { find_flag = true; break; } i++; } if (find_flag == true) { start = end + 1; end = document.cookie.indexOf(";", start); if(end < start) { end = document.cookie.length; } return document.cookie.substring(start, end) } return ''; } /** * cookie 정보를 삭제한다. * @public * @param {String} name 쿠기 이름이다. 이는 id과 같이 사용될 수 있고 쿠키 파일의 내용으로 저장된다. * @author OFFTON */ function deleteCookie(name) { var today = new Date(); today.setTime(today.getTime() - 1); var value = getCookie(name); if (value != '') { document.cookie = name + '=' + value + '; expires=' + today.toGMTString() } }