티스토리 뷰

자바스크립트 쿠키(cookie) 제어 스크립

//////////////////////////////// 111111111111111111111 //////////////////////////////////////////
//////////////////////////////// 111111111111111111111 //////////////////////////////////////////
//////////////////////////////// 111111111111111111111 //////////////////////////////////////////
<script language="javascript">

// 쿠키를 가져오는 함수

 function getCookie(NameOfCookie)
 {
  if (document.cookie.length > 0)
  {             
  begin = document.cookie.indexOf(NameOfCookie+"=");     
  if (begin != -1)
  {         
    begin += NameOfCookie.length+1;     
    end = document.cookie.indexOf(";", begin);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(begin, end));
  }
  }
  return null;
 }
 

// 쿠키를 설정하는 함수
 function setCookie(NameOfCookie, value, expiredays)
 {
  var ExpireDate = new Date ();
  ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
  document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
 }

 

</script>

<script language="javascript">

 // 간단한 사용법입니다.

setCookie("TEST1","쿠키를 테스트 합니다.",1)

setCookie("TEST2","안녕하세요 ^^",1)

 

// 불러오는 부분입니다.

document.writeln(getCookie("TEST1"));

document.writeln(getCookie("TEST2"));

</script>

//////////////////////////////// 222222222222222222222//////////////////////////////////////////

//////////////////////////////// 222222222222222222222//////////////////////////////////////////

//////////////////////////////// 222222222222222222222//////////////////////////////////////////

자바스크립에서 쿠키를 제어하기위해서는 손이 많이 가므로 미리 만들어둔 함수를 사용하는 것이 좋다.

인터넷 뒤저보면 여러가지 형태가 있으니 마음에 드는 걸 사용하면 된다.

문제는 아래 코드로는 asp.net에서 비하인드에서 읽어지지가 않는다.-_-;

인코딩 방식에 차이가 있나해서 몇가지 해봤는데 여전이 안읽어진다.

솔직이 쿠키로 비하인드로 값을 전달하는 건 안좋다고 생각하기 때문에 상관은 없다 만은....그래도 필요할때 안되면 짜증날 것 같은데 ㅎㅎㅎ


function setCookie( name, value, expiredays )
{
 var todayDate = new Date();
 
 //쿠키유효기간 설정
 todayDate.setDate( todayDate.getDate() + expiredays );
 //쿠키내용
 document.cookie = name + "=" + escape( value ) + "; path=/ ; expires=" + todayDate.toUTCString() + ";" ;
 
}

function getCookie( name )
{
 var nameOfCookie = name + "=";
 var x = 0;
 
 //쿠키를 분리한다.
 while ( x <= document.cookie.length )
 {
  //찾을 쿠키이름 길이 받아오기
  var y = (x + nameOfCookie.length);
  
  //찾을 쿠키 이름과 같은지?
  if ( document.cookie.substring( x, y ) == nameOfCookie )
  {
   //같다면
   //쿠키에서 데이터를 구분자로 자른후 길이가 -1인지?
   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 "";
}

[출처] 자바스크립트 쿠키 제어 스크립|작성자 당근천국



//////////////////////////////// 33333333333333333333//////////////////////////////////////////

//////////////////////////////// 33333333333333333333//////////////////////////////////////////

//////////////////////////////// 33333333333333333333//////////////////////////////////////////

◆자바스크립트 쿠키(cookie)
자바스크립트 쿠키는 CGI의 HTTP Cookie와 내용 및 작동하는 법은 같으나 약간의 차이가 있습니다. 아래는 자바스크립트 쿠키에 대한 개요입니다.
  1. 자바스크립트에서 지원하는 사용자의 특정 정보를 저장하는 기법
  2. 클라이언트의 브라우저에 저장되나 서버에는 저장되지 않습니다.
  3. 일정 기간 동안만 유효하게 할 수 있고, 유효기간(만료기한)이 설정되지 않을 경우
    브라우저 종료시 자동으로 사라집니다.
  4. 클라이언트에는 브라우저가 실행중에는 메모리에, 종료될 경우 만료기한에 따라
    cookies.txt라는 파일에 저장될 수 있습니다.
  5. 웹 서버의 환경변수 HTTP_COOKIE에는 저장되지 않습니다.
자 바스크립트 쿠키는 서버와는 무관하기 때문에 일반적으로 잘 사용하지는 않습니다. 그러나, 클라이언트 내에서는 얼마든지 쿠키의 정보유지기법을 사용할 수 있으므로 간단한 방문 기록 남기기 등에서는 쓰일 수 있습니다. 자바스크립트에서 쿠키를 참조하기 위해서는 document.cookie객체를 사용합니다.
아래는 가장 일반적으로 사용되는 쿠키 관련 자바스크립트 함수들입니다. 아래 함수의 주요 기능은 document.cookie객체의 문자열 조작을 통하여 쿠키로부터 값을 빼내는데 사용됩니다.
function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function GetCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { //while open var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } //while close return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (2 < argc) ? argv[2] : null; var path = (3 < argc) ? argv[3] : null; var domain = (4 < argc) ? argv[4] : null; var secure = (5 < argc) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); }
위의 함수에서 사용자가 쓸 함수는 GetCookie(), SetCookie()입니다. 사용하는 문법은 아래와 같습니다.
GetCookie
설정되어 있는 쿠키의 값을 가져옵니다.
쿠키값 = GetCookie(name) 인수 설명)
name(필수 요소)
저장된 Cookie의 이름
예)
cookieval = GetCookie('myCookie');
SetCookie
쿠키의 값을 설정한다.
SetCookie(name, value, [expires], [path], [domain], [secure]) 인수 설명)
name(필수 요소)
Cookie에 저장하고자 하는 이름
value(필수 요소)
Cookie에 저장된 이름(name)에 대한 값
expires(생략 가능)
Cookie가 설정된 후 Cookie가 무효화되는 시간이다.
(GMT Type - "Wdy, DD-Mon-YYYY HH:MM:SS GMT")
설 정된 시간이 지나게 되면, 이 Cookie는 사용할 수 없게 된다. 만약 expires에 설정된 시간보다 더 일찍 브라우저가 종료될 경우, 브라우저는 자동으로 cookies.txt라는 파일을 생성하여 그 정보를 이 파일에 저장해 둡니다.
Netscape 4.x의 경우)
C:\Program Files\Netscape\Users\[Profile name]\cookies.txt
Internet Explorer 4.x의 경우)
C:\windows\Cookies\[remote user name]@[domain].txt
path(생략 가능)
문서의 경로명을 설정합니다. 설정하지 않으면 현재 Cookie를 보내는 문서의 URL상의 경로(도메인 명 제외)로 설정됩니다.
domain(생략 가능)
웹 서버의 도메인 명을 설정합니다. 설정하지 않으면 현재 Cookie를 보내는 문서가 속한 도메인 명으로 설정됩니다.
secure(생략 가능)
HTTPS Server(HTTP over SSL)와 같은 Secure Server에서 Cookie를 보낼 경우 이 값을 설정해 줍니다.
예 1) 쿠키값만 설정할 경우
SetCookie('myCookie', 1234);
예 2) 쿠키값 및 만료일을 설정할 경우
var ExpDate = new Date();
ExpDate.setTime(ExpDate.getTime() + 1000*60*60*24); SetCookie('myCookie', 1234, ExpDate); ※ 위의 예제는 만료일을 쿠키가 생성되는 현재 시간 + 1일로 설정합니다. 만약, 만료일을 쿠키가 생성된 후 1시간으로 설정하겠다면 위의 예제에서 24(시간)를 1(시간) 로 바꾸어 주면 됩니다.

아래의 예제는 쿠키값을 설정하고, 만료일을 쿠키가 설정된 후 1시간 이후로 설정하는 예제입니다.
쿠 키는 설정된 후에 브라우저가 활성화 되어 있고 만료일이 경과되지 않는 한 브라우저에 따라 설정된 디렉토리 내의 cookies.txt를 지우더라도 값이 유지된다는 점을 주의하기 바랍니다. 지금까지 자바스크립트에 대해 알아 보았습니다. 물론 부족한 점이 많겠지만 지금까지 설명한 내용만 가지고도 여러분이 보다 동적이고 기능적인 홈페이지를 만드는데 많은 도움이 될 것입니다

 

from : kin.naver ?? unKnown

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

on 이벤트  (0) 2011.10.11
a href --> 자바스크립트에서 하기..  (0) 2011.10.11
div 지정영역만 Print(프린트)하기  (0) 2011.10.11
indexOf() , lastIndexOf()  (0) 2011.10.11
jquery - select box  (0) 2011.10.11