JSブラウザCookieの操作、クエリ、設定および削除

5458 ワード

JavaScriptはクライアントで動作するスクリプトですので、Sessionを設定することは一般的にできません.
クッキーはクライアントで動作しますので、JSでクッキーを設定できます.
仮にある用例フローでAページからBページにジャンプし、AページでJS用変数tempを用いてある変数の値を保存した場合、BページではJSを用いてtempの変数値を参照する必要があり、JSにおけるグローバル変数や静的変数のライフサイクルには限りがあり、ページのジャンプやページのクローズが発生した場合、これらの変数の値は再読み込みされます.保存の効果がありません.この問題を解決する最善の方法は、クッキーを用いて変数の値を保存することであるが、クッキーをどのように設定して読み込むか?
まず、クッキーの構造を少し理解する必要があります.簡単に言えば、クッキーはキーパッドの形で保存されています.つまり、key=valueの形式です.各クッキーの間は一般に「;」で区切られている.
Aページで変数セット(usr=>「jack」、pwd=>「123」)をクッキーに保存すると、対応するJSコードは以下の通りです.
 
    
document.cookie="usr=" + username;
Bページで usrの を する 、 するJSコードは の りです.
var username = document.cookie.split(";")[0].split("=")[1];
 
のコードは な 、 、およびクッキーをクリアします.どのようにブラウザが じている にクッキーを にクリアするかというと、 は です.クッキーを する に れを しなくてもいいです.
 1 /**
 2  *     cookie   
 3  * @param key       cookie 
 4 */
 5 function getCookie(key) {
 6   var arr,reg=new RegExp("(^| )"+key+"=([^;]*)(;|$)");
 7   if(arr=document.cookie.match(reg)) {
 8     return unescape(arr[2]);
 9   }
10   else {
11     return null;
12   }
13 }
14 
15 /**
16  *      Cookie,         ,        
17  * @param key cookie 
18  * @param value cookie 
19  * @param expires cookie    ,   0,        ,        
20 */
21 function setCookie(key, value, expires=0) {
22   var cookie = key + "=" + escape(value);
23   if (expires) {
24     var date = new Date();
25     date.setTime(date.getTime()+expires*1000);
26     cookie = cookie + ";expires=" + date.toGMTString();
27   }
28   document.cookie = cookie;
29 }
30 
31 /**
32  *     cookie   
33  * @param key       cookie 
34 **/
35 function delCookie(key) {
36   var date = new Date();
37   date.setTime(date.getTime() - 1000);
38   document.cookie = key + "='';expires=" + date.toGMTString();
39 }
 
:https://www.cnblogs.com/HardCarroll/p/10109861.html