1. 쿠키 작성부터 시작하세요.
var the_date = new Date("2020년 12월 31일");
varexpiresDate = the_date.toGMTString();
document.cookie = "userDefineCSS=" escape(title) ";expires="expiresDate ;
첫 번째 문장은 날짜 개체입니다.
두 번째 문장은 날짜 형식을 GMT 형식으로 변환합니다. 편집자: GMT는 현재 UTC라고도 하는 그리니치 표준시입니다.
세 번째 문장은 쿠키 내용을 클라이언트에 쓰는 것입니다.
이 중 만료는 시스템에서 쿠키의 만료 날짜를 나타내는 데 사용되며(생략 가능) 만료는 읽을 수 없습니다.
이스케이프는 중국어, 공백 등을 처리하도록 설정된 쿠키 값을 인코딩하는 것입니다.
2. 쿠키를 검색하는 방법은 비교적 간단합니다.
function GetCSS()
{
var cookieStr = document.cookie; //쿠키 문자열을 가져옵니다. 만료를 읽을 수 없으므로 만료는 cookieStr에 표시되지 않습니다.
if (cookieStr == "")
{
return "main1"; //쿠키 문자열을 얻지 못한 경우 기본값을 반환합니다.
}
var cookieValue = cookieStr.split(" ; "); //각 쿠키를 분리하여 배열로 함께 저장합니다. 여러 개의 쿠키는 세미콜론과 공백으로 구분됩니다. 그러나 이전에는 쿠키를 하나만 사용했으며 해당 값과 만료 날짜도 세미콜론으로 구분됩니다.
공백으로 구분 ; var startPos = -1; var endPos = for (var i=0; i
{ startPos = cookieValue[i] .indexOf(varName);
if (startPos != 0)
{
continue; varName이라는 쿠키, 다음 쿠키 결정
}
startPos = varName .length 1; //현재 쿠키는 varName이라는 쿠키입니다. 1
endPos = cookieValue[i] .length;
var css = unescape(cookieValue[i].substring(startPos , endPos));
return CSS;
}
return "main1"; 🎜>
쿠키를 작성할 때 Escape를 사용하므로 쿠키 값을 반환할 때 디코딩에는 unescape를 사용합니다.
쿠키의 속성을 올바르게 사용하기
쿠키의 구조를 먼저 살펴보세요
여기서 말하는 쿠키의 구조는 저장 구조가 아닌 표현 구조를 주로 연구하여 프레젠테이션 구조 쿠키에 JS(JavaScript) 작업을 구현합니다.
쿠키의 성능 구조는 비교적 간단합니다. 각 쿠키는 쿠키 이름과 쿠키 값으로 구성됩니다. 각 쿠키는 세미콜론과 공백으로 구분됩니다. 앞서 언급했듯이 만료, 경로, 도메인은 읽을 수 없으므로 프리젠테이션 구조에 반영되지 않습니다.
cookieName1=cookieValue1; cookieName2=cookieValue2[...; cookieNamen=cookieValuen]
세미콜론과 공백 기호를 분리하면 각 쿠키를 얻을 수 있고, 등호를 분리하면 각 쿠키의 이름을 얻을 수 있습니다. . 그리고 가치.
쿠키의 하위 키는 cookieValue에만 표시됩니다. 하위 키의 구조는 하위 키 이름 = 하위 키 값이며 여러 하위 키가 &로 연결됩니다. 예:
cookieName1=하위 키 이름 1=하위 키 값 1&하위 키 이름 2=하위 키 값 2
ASP 파일인 경우 쿠키 구조에 다음과 같은 문자열이 있음을 알 수 있습니다. ASPSESSIONIDQSTDRATQ=24자
이에 대해 다음을 확인하세요. http://www.aspxuexi.com/aspbasic/cookie/2006-6-10/Session_Cookie.htm
동일한 이름, 다른 도메인 또는 다른 경로를 가진 쿠키는 다른 쿠키입니다. 🎜> 이름, 도메인, 경로가 동일하지만 만료일이 다른 쿠키는 동일한 쿠키에 속합니다.
쿠키에는 경로에 있는 파일이 쿠키를 읽을 수 있는 권한이 있는지 나타내는 경로가 있습니다.
경로는 "/"로 끝나야 합니다. 이름이 같고 경로가 다른 쿠키는 다른 쿠키에 속합니다.
document.cookie = "N1=1; path=/path/"
document.cookie = " N1= 2; path=/path";
document.cookie = "N1=3; path=path/";
위 코드에서는 처음 두 문장은 절대 경로, 즉 상대 경로를 사용합니다. 사이트 루트 디렉터리로 웹 페이지 디렉터리의 경우 세 번째 문장에서는 현재 디렉터리에 상대적인 상대 경로를 사용합니다.
첫 번째와 두 번째 문장은 동일한 권한을 표현하지만 경로 문자열이 다르기 때문에 동일한 이름의 쿠키가 두 개가 생성되므로 두 번째 문장을 사용하지 않는 것이 좋습니다. 형식은 시스템 기본값도 "/"로 끝나기 때문입니다.
위와 같이 쿠키가 3개 있고, 서로 가리지 않습니다.
경로 속성 값은 대소문자를 구분하며 브라우저의 주소 표시줄에 입력된 내용과 일치해야 합니다.
document.cookie = "N1=1; path=/path/"
document.cookie = " N1=2; path=/paTH/";
경로 속성 값은 대소문자를 구분하므로 두 개의 다른 쿠키입니다. 주소 표시줄에 경로를 입력하면 첫 번째 N1이 읽혀집니다. paTH를 입력하면 두 번째 N1을 읽습니다.
경로를 읽을 수 없습니다.
만료와 마찬가지로 경로는 쓸 수만 있고 읽을 수는 없습니다.
경로를 변경할 수 없습니다.
만료와 달리 경로를 변경하려고 하면 실제로 경로 값을 변경하는 대신 다른 쿠키를 작성합니다.
경로 권한은 상속됩니다.
/test/ 디렉터리에 쿠키를 읽을 수 있는 권한이 있다고 지정하면 /test/ 아래의 /test/t/ 디렉터리에도 쿠키를 읽을 수 있는 권한이 있습니다.
쿠키에는 만료일이 있습니다. 만료일이 지나지 않으면 컴퓨터를 다시 시작해도 쿠키는 사라지지 않습니다. 만료 값을 지정하지 않으면 브라우저를 닫을 때 쿠키가 만료됩니다.
JS(JavaScript)에서 만료를 사용하는 경우 다음과 같이 쿠키와 동시에 작성해야 합니다.
document.cookie = "clr=red;expires="expiresDate
다음과 같이 작성합니다. 올바르지 않음:
document.cookie = "clr=red";
document.cookie = "expires="expiresDate;
이렇게 쓰면 두 번째 쿠키의 이름이 만료됩니다. 두 쿠키 모두 만료 날짜를 지정하지 않습니다.
Expires를 읽을 수 없습니다
이것이 ASP에서 response.Write request.cookies("cname").expires를 사용할 때 마찬가지로 JS(JavaScript)에서 document.cookie를 사용할 때 오류가 발생하는 이유입니다. , 만료되지 않습니다.
expires 값은 GMT 형식의 시간을 사용해야 합니다.
var the_date = new Date("December 31, 2020");
varexpiresDate = the_date.toGMTString(); //GMT 형식으로 변환합니다.