JS——Cookie

使用Cookiehtml

1》什麼是Cookie數組

解釋:在頁面中用來保存信息的(例如:自動登陸、記住用戶名瀏覽器

特性:1)同一個網站中全部頁面共享一套cookie;
服務器

   2)數量、大小有限;cookie

   3)具備過時時間;函數

在js中使用cookie:即:document.cookie網站

注意:若要在瀏覽器本地查看cookie的值,須要使用ff瀏覽器;而其餘瀏覽器查看cookie的話,須要搭載服務器才能。spa

 

2》cookie的使用code

1)設置cookiehtm

  a、格式:名字=值  (例如:‘user=George’)

  b、document.cookie設置值時,不會覆蓋原有的值  即:user=George; pass=123 兩個值不會覆蓋

  c、能夠設置它的過時時間  (用「expires=時間」的方法,須要用日期對象來配合使用)

 

<script>
  var oDate=new Date();
  oDate.setDate(oDate.getDate()+30);   //設置日期時間爲當前時間的30天后
        
  document.cookie='user=George;expires='+oDate;    //js中用來設置cookie的值,其中expires表示設置的時長
  document.cookie='pass=123';

  alert(document.cookie)   //輸出cookie的值  即;user=George; pass=123;
</script>

 

解釋:在ff瀏覽器中便可輸出cookie的值,其中user=George的值設置爲30天的保存日期。當關閉瀏覽器後,所設置的cookie值中只剩下user=George,由於它的過時時間還沒到(30天時間),而pass=123的值會消失

  d、封裝以上代碼,得出新的函數:

 1 <script>
 2   //封裝設置cookie函數
 3   function setCookie(name,value,iDay){
 4     var oDate=new Date();
 5     oDate.setDate(oDate.getDate()+iDay);
 6             
 7     document.cookie=name+'='+value+';expires='+oDate;
 8   }
 9   setCookie('George','123',30);
10   setCookie('Rose','456',30);
11         
12   alert(document.cookie);          //設置完cookie的值,輸出爲:George=123; Rose=456
13 </script>

解釋:

第3行代碼:傳入三個參數(name、value、iDay),分別表示:名字、值、時間;

第4-5行代碼:用日期對象來配合使用設置它的過時時間;

第7行代碼:設置cookie的值(並使用過時時間方法)

 

2)讀取cookie

  a.用字符串分割的方法(split)

 1 <script>
 2   //封裝獲取cookie函數
 3   function getCookie(name){                 //傳入一個name參數
 4     var arr=document.cookie.split(';');  //結合上面的設置cookie方法,用數組split方法,拆分字符串,結果爲:George=123, Rose=456
 5         //alert(arr);
 6     for(var i=0;i<arr.length;i++){
 7       var arr1=arr[i].split('=');
 8         //alert(arr1)                   //用數組split方法,拆分字符串,結果爲:George,123, Rose,456
 9       if(arr1[0]==name){                 //用於判斷所獲取的cookie值是否與name的值相同
10         return arr1[1];                 //與name值相同,則返回arr1[1]的值
11       }
12     }
13     return '';                             //與name值不一樣,則返回空值
14   }
15   alert(getCookie('George'));               //輸出:123
16 </script>

解釋:

 

3)刪除cookie

  a.改變過時時間(把iDay的值設置爲-1,讓它顯示昨天過時)

1 <script>
2   //封裝刪除cookie函數
3   function removeCookie(name){
4     setCookie(name,'1',-1);                 //調用setCookie函數,把setCookie中的oDate設爲-1,讓它昨天過時,即達到刪除cookie的目的
5   }
6   alert(getCookie('George'));                 //刪除前,輸出:123
7   removeCookie('George');
8   alert(getCookie('George'));                 //刪除後,輸出:  (空值)
9 </script>

 

其餘詳細瞭解能夠參考菜鳥教程:https://www.runoob.com/js/js-cookies.html

相關文章
相關標籤/搜索