JavaScript 입문 강좌 Cookies
4809 단어 JavaScript입문 강좌Cookies
name=kevin; [email protected]; lastvisited=index.html
이 는 문서 에 3 개의 Cookies:name,email,lastvisited 가 포함 되 어 있 고 이들 의 값 은 각각 kevin 이라는 것 을 의미한다[email protected].이 를 통 해 알 수 있 듯 이 두 쿠키 사 이 는 분점 과 빈 칸 으로 구분 되 기 때문에 우 리 는 cookieString.split(';')를 사용 할 수 있 습 니 다.방법 은 각 Cookie 로 구 분 된 배열 을 얻 을 수 있 습 니 다.(먼저 var cookieString=document.cookie)쿠키 를 설정 하 는 방법 은 document.cookie 에 값 을 부여 하 는 것 입 니 다.다른 경우 의 할당 과 달리 document.cookie 에 할당 하면 기 존 쿠키 를 삭제 하지 않 고 쿠키 를 추가 하거나 기 존 쿠키 를 변경 합 니 다.할당 형식:
document.cookie = 'cookieName=' + escape('cookieValue')
+ ';expires=' + expirationDateObj.toGMTString();
어 지 러 운 거 보 셨 죠?이상 은 굵 은 글자 가 아 닌 곳 은 그대로 베껴 쓰 는 것 이 고,굵 은 글 자 는 실제 상황 에 따라 바 꿔 야 한다.cookieName 은 Cookie 의 이름 을,cookieValue 는 Cookie 의 값 을,expirationDateObj 는 실효 날짜 의 날짜 대상 이름 을 저장 하고 있 으 며,실효 날 짜 를 지정 할 필요 가 없 으 면 두 번 째 줄 이 필요 하지 않 습 니 다.실효 날 짜 를 지정 하지 않 으 면 브 라 우 저 는 기본적으로 브 라 우 저 를 닫 은 후 만 료 됩 니 다.위 에 밑줄 친 거 봤 어 요?이것들 은 주의해 야 할 곳 이다.우선 escape()방법:왜 꼭 써 야 합 니까?쿠키 값 은"URL 인 코딩 에 사용 할 수 있 는 문자 만 사용 할 수 있 습 니 다"라 는 요구 사항 이기 때 문 입 니 다."escape()"방법 은 문자열 을 URL 인 코딩 방법 에 따라 인 코딩 하 는 것 임 을 알 고 있 습 니 다."escape()"방법 으로 쿠키 에 출력 된 값 을 처리 하고"unescape()"로 쿠키 에서 받 은 값 을 처리 하면 틀림 없습니다.그리고 이 두 가지 방법의 가장 일반적인 용 도 는 쿠키 를 처리 하 는 것 이다.사실 쿠키 를 설정 하 는 것 은'document.cookie='cookie Name=cookie Value'라 는 간단 하지만 cookieValue 에 URL 에 나타 나 지 않 는 문자 가 나타 나 지 않도록 escape()를 사용 하 는 것 이 좋 습 니 다.그리고"expires"앞의 분점:주의 하면 됩 니 다.다른 것 이 아니 라 분점 입 니 다.마지막 으로 toGMTString()방법:쿠키 의 시효 날 짜 를 설정 하 는 것 은 모두 GMT 형식 을 사용 하 는 시간 이 고 다른 형식의 시간 은 소 용이 없습니다.이제 실전 을 해 보 자."name=rose"의 쿠키 를 설정 합 니 다.3 개 월 후에 만 료 됩 니 다
var expires = new Date();
expires.setTime(expires.getTime() + 3 * 30 * 24 * 60 * 60 * 1000);
/* x 30 x 24
x 60 x 60 x 1000 */
document.cookie = 'name=rose;expires=' + expires.toGMTString();
왜 escape()방법 을 사용 하지 않 았 습 니까?이것 은 rose 가 합 법 적 인 URL 인 코딩 문자열 이라는 것 을 알 고 있 기 때 문 입 니 다.즉,'rose'==escape('rose')입 니 다.일반적으로 쿠키 를 설정 할 때 escape()를 사용 하지 않 으 면 쿠키 를 가 져 올 때 도 unescape()를 사용 하지 않 습 니 다.다시 한 번:함 수 를 만 듭 니 다.지정 한 Cookie 의 값 을 찾 는 역할 을 합 니 다
function getCookie(cookieName) {
var cookieString = document.cookie;
var start = cookieString.indexOf(cookieName + '=');
// Cookie
// cookieName 。
if (start == -1) //
return null;
start += cookieName.length + 1;
var end = cookieString.indexOf(';', start);
if (end == -1) return unescape(cookieString.substring(start));
return unescape(cookieString.substring(start, end));
}
이 함 수 는 문자열 대상 의 방법 을 사 용 했 습 니 다.만약 당신 이 기억 하지 못 한다 면(당신 이 이렇게 기억력 이 없 는 지)빨리 가서 찾 아 보 세 요.이 함수 의 모든 if 문 구 는 else 를 가지 고 있 지 않 습 니 다.이것 은 조건 이 성립 되면 프로그램 이 실행 하 는 것 은 모두 return 문 구 를 가지 고 있 기 때 문 입 니 다.함수 에서 return 을 만나면 운행 을 중지 하기 때문에 else 를 추가 하지 않 아 도 문제 가 없습니다.이 함 수 는 쿠키 를 찾 을 때 쿠키 의 값 을 되 돌려 줍 니 다.그렇지 않 으 면"null"을 되 돌려 줍 니 다.지금 우 리 는 방금 설정 한 name=rose Cookie 를 삭제 해 야 합 니 다
var expires = new Date();
expires.setTime(expires.getTime() - 1);
document.cookie = 'name=rose;expires=' + expires.toGMTString();
실효 날 짜 를 현재 날짜 보다 조금 일찍(여 기 는 1 밀리초 일찍)바 꾸 고 같은 방법 으로 쿠키 를 설정 하면 쿠키 를 삭제 할 수 있 음 을 알 수 있다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.