[js点滴]JavaScriptのCookie/Sessionメカニズム詳細解02
7420 ワード
前の文章[js点滴]JavaScriptのCookie/Sessionのメカニズムの詳細解01について説明しました.cookieの関連属性について説明しました.関連した使い方については、引き続きcookieの関連操作について説明します.
2.Cookieの設定、取得
Cookieは修正、削除操作を提供していません.Cookieを変更するには、同名のCookieを新たに作成し、レスポンスに追加して元の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パラメータを設定する必要があります.
3.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。