중화사전망 - 서예자전 - Js 조작 쿠키를 사용하여 비밀번호를 기억하는 기능을 구현하는 방법
Js 조작 쿠키를 사용하여 비밀번호를 기억하는 기능을 구현하는 방법
"쿠키는 방문자 컴퓨터에 저장된 변수입니다. 같은 컴퓨터가 브라우저를 통해 페이지를 요청할 때마다 이 쿠키가 전송됩니다. 자바스크립트를 사용하여 쿠키 값을 만들고 검색할 수 있습니다.
브라우저마다 쿠키를 저장하는 방식이 다를 수 있지만 쿠키의 내용은 클라이언트에 저장됩니다. (세션은 서버에 저장됨)
과자에 대한 몇 가지 노트.
일반적으로 쿠키는 고객 정보를 저장하는 문자열입니다 (alert(typeof document.cookie) 를 통해 확인할 수 있음).
프로그래머는 쿠키의 크기 제한 (4kb) 을 초과하지 않는 한 쓰고 싶은 모든 것을 쓸 수 있다.
쿠키를 조작하는 가장 쉬운 방법은 document.cookie 를 조작하는 것입니다.
쿠키에는 쿠키의 유효 기간을 설정하는 키워드' expires' 가 있습니다. 기본적으로 (만료 시간은 설정되지 않음) 브라우저가 닫히면 쿠키가 자동으로 지워집니다.
일반적으로 쿠키는 "쿠키 이름1= 쿠키1; 쿠키 2 = 쿠키 2 expires = "+date, 다음은 몇 가지 참고 사항입니다.
1. 세미콜론에 주의하십시오
"; Expires= "문자열을 먼저 쓸 수 있지만"; Expires= "이 쓰기 방식, 특히 이 세미콜론을 따라야 합니다. 그렇지 않으면 브라우저에서 만료 시간을 인식하지 못하고 쿠키 내용의 일부로 취급합니다.
예를 들면 다음과 같습니다.
만약 여러분이 글을 쓴다면,
1< Html & gt
2 & lthead & gt
3< script type = "text/JavaScript" >
4 var date = new date ();
5 date.setdate (date.getdate ()+10); //날짜를 10 일로 설정합니다.
6 document.cookie = "username = findingsea password =123 expires ="+date.togmts //toGMTString 메서드는 날짜를 그리니치 표준시 형식으로 변환합니다.
7</스크립트 >
8</헤드 >
9 & ltbody & gt
10
11< /body >
12 < /html >
불여우 아래 옵션 열기-> 개인 정보 보호-> 개인 쿠키 삭제
쿠키가 만료되는 시간은 현재 세션의 종료 시간, 즉 브라우저가 닫히는 시간입니다. 즉, 우리가 설정한 만료 시간은 전혀 효과가 없습니다.
쉽게 수정할 수 있습니다. 앞의 코드에서 expires 앞에 세미콜론을 붙여서 "..." 를 표시하기만 하면 됩니다. Expires= ",Firefox 를 다시 실행하여 쿠키를 확인합니다.
만료 시간이 10 (오늘은 2065438+2002 년 8 월 3 1) 인 후 expires 가 성공적으로 설정되었기 때문에 세미콜론이 중요하고 중요합니다! ! !
2. 쿠키를 삭제하는 방법
실제로 쿠키를 지우는 것은 정확하지 않습니다. 쿠키를 만료시킨다는 뜻이어야 합니다. 쿠키를 직접 비울 수 없고 (document.cookie= ""라고 생각하시면 쿠키를 비울 수 있습니다. 저는 당신이 유치하다고 말할 수 있습니다.) 쿠키를 만드는 방법은 간단합니다. 바로 set expires 입니다. 쿠키가 오래 보관할 수 있도록 만료 시간을 길게 설정할 수 있습니다. 그런 다음 쿠키를 과거로 설정하여 쿠키가 즉시 만료되도록 할 수도 있습니다. 이' 과거' 는 1970 65438+ 10 월 1 입니다. Expires 를 이 시간으로 설정하면 쿠키가 만료됩니다. 이 시기인 이유에 대해서는1970-1-100: 00.000 에 대한 지식을 참조하십시오.
3. 쿠키를 설정하고 가져오는 방법
& lt 하나의 쿠키에 여러 변수 설정 >;
JavaScript 는 쿠키 이름을 기준으로 쿠키 값을 가져오는 방법을 제공하지 않습니다. 앞서 언급했듯이 document.cookie 는 문자열일 뿐이므로 구문 분석할 수 있습니다. 얻을 때 구문 분석하려면 설정할 때 식별자를 설정해야 합니다. 여기서 주목해야 할 점은 첫 번째 점과 정반대이다. 첫째, 세미콜론을 잊지 말라고 경고했습니다. 식별자를 설정할 때 세미콜론을 구분 기호로 사용하지 않는 것이 좋습니다. 비교를 살펴 보겠습니다.
코드 1:
1< Html & gt
2 & lthead & gt
3< script type = "text/JavaScript" >
4 var date = new date ();
5 date.setdate (date.getdate ()+10);
6 document.cookie = "username = findingsea; 비밀번호 =123; Expires = "+date.togmtstring ();
7</스크립트 >
8</헤드 >
9 & ltbody & gt
10
11< /body >
12 < /html >
코드 2:
1< Html & gt
2 & lthead & gt
3< script type = "text/JavaScript" >
4 var date = new date ();
5 date.setdate (date.getdate ()+10);
6 document.cookie = "username = findingsea password =123; Expires = "+date.togmtstring ();
7</스크립트 >
8</헤드 >
9 & ltbody & gt
10
11< /body >
12 < /html >
분명히 코드 1 의 암호 = 123 은' 삼키는 것' 입니다. 이는 브라우저가 쿠키를 저장할 때 세미콜론을 읽은 후 쿠키의 내용이 끝났다고 생각하기 때문입니다. 브라우저에 이상적인 쿠키 형식은 "쿠키 이름 = 쿠키 expires = date" 이지만, 분명히 우리는 이것에 만족하지 않으므로 쿠키에 여러 값을 설정하려면 코드 2 처럼 태그 (세미콜론 아님) 로 분리해야 합니다. 그런 다음 읽을 때도 식별자별로 하나씩 읽습니다.
& lt 여러 쿠키 설정 >
물론, 물론, 이것은 우리가 같은 쿠키에서 여러 변수를 설정해야 하는 비교적 복잡한 상황입니다. 보다 표준화 된 시나리오는 쿠키가 개체를 저장한다는 것입니다. 하지만 이 경우 쿠키는 더 많은 공간을 차지합니다. 쿠키당 하나의 expires 를 설정해야 하기 때문에 하나의 쿠키에 여러 변수를 설정하는 것보다 더 많은 공간을 차지합니다. 그러나 이 작업은 더 간단하고 규범적이어서 변수가 적을 때 사용하는 것이 좋습니다.