여기에 설명되어있는 쿠키에 저장 될 때 단지 이름에 대한 자신의 길을하지 않았다, 또한 그것은 여러 가지 방법을 도입,하지만 난 쿠키의 보증금 싶어 - 키를 포함하지 않는 값을, 그래서 그는하는 방법을 썼다 내 요구를 충족.
간단한 액세스 쿠키를 포장 :
// 쿠키를 쓰기 함수 대해 addCookie합니다 (OBJNAME, objValue, objHours) { var에 = OBJNAME STR + "="+ 탈출 (objValue를); // 코딩 (objHours이> 0) {// 시간이 만료되도록 설정하면 0, 검색되지 않습니다 없어 자동으로 종료 할 때 쿠키 VAR = 새로운 새 DATE 날짜 (); VAR = objHours MS * 3600 * 1000; date.setTime (date.getTime () + MS) STR = +가 + date.toGMTString "= 기간 제한"을 () ; } document.cookie를 = STR; } 쿠키를 읽을 // 함수의 getCookie합니다 (OBJNAME) {// 쿠키의 지정된 값의 이름을 가져 오기 var에 arrStr = document.cookie.split를 ( ";") (var에 나는 = 0; 나는 <arrStr.length; I는 ++) { var에 arrStr TEMP = [I] .split ( "=") IF (TEMP [0] == OBJNAME) 반환 언 이스케이프 (임시) 1이다.];// 디코딩 } ""를 반환; }
먼저 두 개의 예금 법 쿠키 이해 ① 보기를 아래이 문서는 약간의 좌석을 도입했다
JS 예금 쿠키 :
// 쿠키를 저장 //없이 테이프 접착 상기 document.cookie를 = "XXX = 456" document.cookie를 = "안녕하세요 하하 = = 123 & 워드 = 456"; // 키 테이프
이것은 너무 간단합니다.
우리는 쿠키를 얻을 수
VAR 쿠키 = document.cookie.split ( ";"); $의 .each (쿠키, 기능 (전, 항목) { 을 console.log (항목); })
물론, 마지막 두 줄은 쿠키 값 계정 및 암호입니다. 그것은 나쁜 거래 아닙니다. 테스트를 위해, 나는 두 개의 쿠키를 추가
= 뉴 새로운 hcName 끊어진 HttpCookie 끊어진 HttpCookie ( "TESTNAME"); hcName.Value = "테스트 이름"; hcName.Expires 용의 DateTime.Now.AddDays = (10) Response.Cookies.Add (hcName) 끊어진 HttpCookie이 끊어진 HttpCookie을 hcPwd 새로운 새 = ( "testpwd "); hcPwd ["sonKey "="암호 테스트 "; // hcPwd.Values ["sonKey "] = 테스트 암호 수직 양이다 hcPwd.Expires 용의 DateTime.Now.AddDays = (10) 에는 Response.Cookies .Add (hcPwd);
그 다음, 우리는 쿠키에 본 지금 페이지 입력 이름 = 값 NAME = 키 = 값 이름 = 값 키 = 1을 키 = 1 키 2 키 (3)가 상기 염기성 조건이 포함된다 = 값. 그 다음에 메서드 호출이 매개 변수를 전달할 때, 더 복잡 할 수있다,하는 방법을 썼다, 반환 값입니다.
/ * 매개 변수 ... 나머지 매개 변수는 빈 나타내는 첫 번째 매개 변수가 저장되어있는 쿠키의 이름을 두 번째 매개 변수 첫 번째 매개 변수의 이름 아래에 하위 키가 아니, 쓰지 않는다, 쓰기 하위 키가 * / (기능의 getCookie를 이름, ... REST) { var에 DD; var에 쿠키 = document.cookie.split ( ";"); // 쿠키 많은 종류가, 당신은 당신이 얻을 필요가 결정해야 할 수 있습니다 $ .each (쿠키, 기능 (I를 , 항목) { 항목 = item.trim ();받는 // 최초의 우주 IF (item.indexOf (이름)> -1) { // 먼저 우리는 또한, 하위 키를 가질 수 있습니다 쿠키 쿠키를 이해하기 위해 이동 장소를 이해 할 수없는 키 하위 // ① 형식 : 이름 = 값 경우 (rest.length === 0) { 이름 item.split은 VAR ( "=") = //console.log (`이름; $ {이름 [0]} , 값 : $ {이름 [1.]}`) DD = 이름 [1.] } 다른 { @ ② 형식 : 이름 = 값 및 하위 키 = 하위 키 값 1 = 1 개 2 하위 키 값 = 2 //이 문제는 많은 하위 키 가질 수 있다는 것입니다 = item.split ( "&"var에이 배열을 ); //주의 모든 서브 키와 값을 얻을 : 이름의 복수의 제 세트 IF {(arry.length>를 1.) $ .each (ARRY, 기능 (A, B) { IF (B. 같이 IndexOf (REST [0])> -1) { VAR = b.split 이름 ( "="); 경우 (이름 [0] == 명 ) {// 할지 결정 이름 쿠키 VAR의 arry1의 ARRY = [0] .split ( "="); // CONSOLE.LOG (이름 '$ {이름} 하위 $ {이름 [1]} , 값 : $ {이름 [2]}`) DD = 이름 [2] } {다른 CONSOLE.LOG ( '이름 : $ {이름} 하위 $ {이름 [0]} , 값 : {[. 1] 이름} $') [. 1] DD = 이름; } } }) } {다른 DD = arry1 [2] } CONSOLE.LOG (이름 '$ {이름} 하위 $ {arry1 [1]} , 값 : $ {arry1 [2]}'); } } }); DD를 반환; };
우리는 테스트를 수행합니다
$ (함수 () { VAR A =의 getCookie ( "TESTNAME"); VAR B =의 getCookie ( "testPwd", "sonKey"); var에 C =의 getCookie ( "사용자 이름", "WarehouseManagement"); var에 D =의 getCookie ( " UserPwd ","WarehousePhoneWeb "); var에 전자 =의 getCookie ("사용자 이름 ","WarehousePhoneWeb "); var에 F =의 getCookie ("testName11 "); //没有就返回空 경고 (`A : $ {A}, B : $ {B}, C; $ {C}, D $ {D}, E : $ {E} F : $ {F} '); });
데이터가 걸릴 수 있습니다.