[JS] 쿠키를 사용한 세션 저장
2017. 11. 9. 15:21
반응형
[JS] 쿠키를 사용한 세션 저장
로그인 창을 이용할시 기본적으로 로그인했던 아이디가 남게 하고 싶었다,
하지만 이 가벼운 소스에 자바단을 타기는 싫었고..
어떤 방식으로 진행할까 고민을 하다
쿠키를 이용한 세션을 사용하고자했다.
해당 검색결과 좋은 소스가 있어 공유하고자 한다.
▼html단
1 2 3 4 | <input type="text" name="id"><input type="checkbox" id="idSaveCheck"> | cs |
▼스크립트단
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | $(window).load(function(){ // 저장된 쿠키값을 가져와서 ID 칸에 넣어준다. 없으면 공백으로 들어감. var userInputId = getCookie("userInputId"); $("input[name='id']").val(userInputId); if($("input[name='id']").val() != ""){ // 그 전에 ID를 저장해서 처음 페이지 로딩 시, 입력 칸에 저장된 ID가 표시된 상태라면, $("#idSaveCheck").attr("checked", true); // ID 저장하기를 체크 상태로 두기. } $("#idSaveCheck").change(function(){ // 체크박스에 변화가 있다면, if($("#idSaveCheck").is(":checked")){ // ID 저장하기 체크했을 때, var userInputId = $("input[name='id']").val(); setCookie("userInputId", userInputId, 7); // 7일 동안 쿠키 보관 }else{ // ID 저장하기 체크 해제 시, deleteCookie("userInputId"); } }); // ID 저장하기를 체크한 상태에서 ID를 입력하는 경우, 이럴 때도 쿠키 저장. $("input[name='id']").keyup(function(){ // ID 입력 칸에 ID를 입력할 때, if($("#idSaveCheck").is(":checked")){ // ID 저장하기를 체크한 상태라면, var userInputId = $("input[name='id']").val(); setCookie("userInputId", userInputId, 7); // 7일 동안 쿠키 보관 } }); }); function setCookie(cookieName, value, exdays){ var exdate = new Date(); exdate.setDate(exdate.getDate() + exdays); var cookieValue = escape(value) + ((exdays==null) ? "" : "; expires=" + exdate.toGMTString()); document.cookie = cookieName + "=" + cookieValue; } function deleteCookie(cookieName){ var expireDate = new Date(); expireDate.setDate(expireDate.getDate() - 1); document.cookie = cookieName + "= " + "; expires=" + expireDate.toGMTString(); } function getCookie(cookieName) { cookieName = cookieName + '='; var cookieData = document.cookie; var start = cookieData.indexOf(cookieName); var cookieValue = ''; if(start != -1){ start += cookieName.length; var end = cookieData.indexOf(';', start); if(end == -1)end = cookieData.length; cookieValue = cookieData.substring(start, end); } return unescape(cookieValue); } | cs |
ㅎ
해당 소스는 구글 검색 시에 가장 많이 나오는소스로 읽다보면 진행하는 데에선 문제가없을것이다
하지만 함수로 만들어 사용하기 귀찮거나 어렵다면 JQuery-cookie를 사용해보는것도 추천하는바이다.
해jQuery-cookie ☞ https://github.com/carhartl/jquery-cookie
반응형
'Program > JavaScript' 카테고리의 다른 글
[Js] 자바스크립트 utf-8 csv excel 생성시 한글 깨짐 (0) | 2018.09.12 |
---|---|
[JS] 배열 선언 및 랜덤 함수 활용 (0) | 2018.03.05 |
[JS] tr 로우 선택 데이터뽑기 (0) | 2017.08.10 |
[Jquery] 체크박스의 선택된 Value 가져오기 (0) | 2017.08.08 |
[JS] 잊지말고 쓰자 각종 새로고침 모음 (0) | 2017.08.08 |