[js点滴]JavaScriptのCookie/Sessionメカニズム詳細解02


前の文章[js点滴]JavaScriptのCookie/Sessionのメカニズムの詳細解01について説明しました.cookieの関連属性について説明しました.関連した使い方については、引き続きcookieの関連操作について説明します.
2.Cookieの設定、取得
//       cookie 
<script language="JavaScript" type="text/javascript"> function getCookie(name){ var strCookie=document.cookie; var arrCookie=strCookie.split("; "); for(var i=0;i<arrCookie.length;i++){ var arr=arrCookie[i].split("="); if(arr[0]==name){ return unescape(arr[1]); }else{ return ""; } } } </script> 
//    cookie 
<script language="JavaScript" type="text/javascript"> function addCookie(name,value,expiresHours){ var cookieString=name+"="+escape(value); //          ,0           if(expiresHours>0){ var date=new Date(); date.setTime(date.getTime+expiresHours*3600*1000); cookieString=cookieString+"; expires="+date.toGMTString(); } document.cookie=cookieString; } </script> 

2.Cookieの修正、削除
Cookieは修正、削除操作を提供していません.Cookieを変更するには、同名のCookieを新たに作成し、レスポンスに追加して元のCookieをカバーする必要があります.
//       cookie  cookie  
<script language="JavaScript" type="text/javascript"> function editCookie(name,value,expiresHours){ var cookieString=name+"="+escape(value); //          ,0           if(expiresHours>0){ var date=new Date(); date.setTime(date.getTime+expiresHours*3600*1000); //           cookieString=cookieString+"; expires="+date.toGMTString(); } document.cookie=cookieString; } </script>
//       cookie 

function deleteCookie(CKname) { 

 document.cookie = CKname+"=;expires="+(new Date(0)).toGMTString(); 

}; 
2.Cookieのドメイン名
Cookieはドメイン名を越えてはいけません.ドメイン名wwww.google.comからのCookieはドメイン名wwww.baidu.comに提出されません.これはCookieのプライバシーセキュリティ機構によって決められます.プライバシーセキュリティ機構は、他のサイトのCookieの不正アクセスを禁止することができます.
通常、同じ1級ドメイン名の下の2つの二級ドメイン名はwww.helloweenvsfei.comとimags.helloweenvsfei.comのように、Cookieを相互に使用することができません.もしすべてのhelloweenvsfei.com名義の二級ドメイン名がこのCookieを使用できると思うなら、Cookieのdomainパラメータを設定する必要があります.

Cookie cookie = new Cookie("time","20080808"); //   Cookie
cookie.setDomain(".helloweenvsfei.com");  //     
cookie.setPath("/"); //     
cookie.setMaxAge(Integer.MAX_VALUE);//      
response.addCookie(cookie);  //       
注意:domainパラメータはポイント(.)で開始しなければなりません.また、nameは同じですが、domainは違っています.二つのCookieは違っています.二つのドメイン名が完全に異なるウェブサイトが欲しいなら、Cookieがあり、二つのCookieを生成できます.domain属性はそれぞれ二つのドメイン名でクライアントに出力します.
3.Cookieの経路
私たちはクッキーに情報を格納する時にパスを指定します.
//  Cookie 
   function SetCookie(name, value) {  
       var exp = new Date();  
       exp.setTime(exp.getTime() + 3 * 24 * 60 * 60 * 1000); //3    
       document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + exp.toGMTString()+";path=/";  
       return true;  
   };
4.クッキー注意事項
1)      ,cookie       (     alert(typeof document.cookie)   ),          。

2)                 ,     cookie     (4kb)。

3)cookie              document.cookie    (          )。

4)cookie       expires,      cookie     ,    (   expires)          ,    cookie。