[위 에] js 쿠키 설정

2896 단어 JavaScriptcookie
쿠키 와 session 은 웹 개발 에서 자주 사용 하 는 정보 저장 방식 이다.Cookie 는 클 라 이언 트 가 개발 한 사용자 정 보 를 저장 할 수 있 는 곳 입 니 다.Session 은 서버 메모리 에 사용자 정 보 를 저장 하 는 곳 입 니 다.
JavaScript 는 클 라 이언 트 에서 실행 되 는 스 크 립 트 이기 때문에 일반적으로 Session 을 설정 할 수 없습니다. Session 은 서버 에서 실행 되 기 때 문 입 니 다.
쿠키 는 클 라 이언 트 에서 실행 되 기 때문에 JS 로 쿠키 를 설정 할 수 있 습 니 다. 만약 에 이러한 상황 이 있다 고 가정 하면 특정한 사례 절차 에서 A 페이지 에서 B 페이지 로 이동 합 니 다. 만약 에 A 페이지 에서 JS 를 변수 temp 으로 특정한 변수의 값 을 저장 하면 B 페이지 에서 도 JS 를 사용 하여 temp 의 변수 값 을 참조 해 야 합 니 다.JS 의 전역 변수 나 정적 변수의 수명 주기 가 제한 되 어 있 습 니 다. 페이지 가 이동 하거나 페이지 가 닫 힐 때 이 변수의 값 은 다시 불 러 옵 니 다. 즉, 저장 효 과 를 얻 지 못 합 니 다.이 문 제 를 해결 하 는 가장 좋 은 방안 은 쿠키 를 사용 하여 이 변수의 값 을 저장 하 는 것 입 니 다. 그러면 어떻게 쿠키 를 설정 하고 읽 습 니까?먼저 쿠키 의 구 조 를 조금 알 아야 합 니 다. 쉽게 말 하면 쿠키 는 키 값 이 맞 는 형식 으로 저 장 됩 니 다. 즉, key = value 의 형식 입 니 다.각 쿠키 사 이 는 일반적으로 ";" 로 구 분 됩 니 다.
JS 설정 쿠키:
A 페이지 에 변수 username 의 값 ("jack") 을 쿠키 에 저장 하려 면 key 값 이 name 이 고 해당 하 는 JS 코드 는 다음 과 같 습 니 다.
document.cookie="name="+username; 
JS 쿠키 읽 기: 쿠키 에 저 장 된 내용 이 name = jack 이 라 고 가정 합 니 다.password=123
B 페이지 에서 변수 username 의 값 을 가 져 오 는 JS 코드 는 다음 과 같 습 니 다.
var username=document.cookie.split(";")[0].split("=")[1]; 
/ / JS 조작 cookies 방법!
// cookies
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();


var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

//  cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

if(arr=document.cookie.match(reg))

return (arr[2]);
else
return null;
}

//  cookies
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

/ / 예제 setCookie ("name", "hayden") 를 사용 합 니 다.alert(getCookie("name"));
//             
//      setCookie            ok;
//    
function setCookie(name,value,time)
{
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

function getsec(str)
{
alert(str);
var str1=str.substring(1,str.length)*1;
var str2=str.substring(0,1);
if (str2=="s")
{
return str1*1000;
}
else if (str2=="h")
{
return str1*60*60*1000;
}
else if (str2=="d")
{
return str1*24*60*60*1000;
}
}
//              :
//s20   20 
//h    , 12    :h12
//d   ,30  :d30

원문 연결:http://blog.sina.com.cn/s/blog_6797a6700100to4r.html

좋은 웹페이지 즐겨찾기