cookie的操做以及屬性

一:操做 數組

1.獲得某個cookie的值 安全


function getCookie(name){   
      var start = document.cookie.indexOf(name+"=");       
      var len = start+name.length+1;       
      if ((!start) && (name != document.cookie.substring(0,name.length))) return null;       
      if (start == -1) return null;       
      var end = document.cookie.indexOf(";",len);       
      if (end == -1) end = document.cookie.length;       
       return decodeURIComponent(document.cookie.substring(len,end));     
    }
2. 設置cookie的值


1. function setCookie(name,value,expires,path,domain,secure){   
   2.     var today = new Date();   
   3.     today.setTime(today.getTime());   
   4.     if(expires)   
   5.     {   
   6.         expires = expires * 1000 * 60 * 60 *24;   
   7.     }   
   8.     var expires_date = new Date(today.getTime() + (expires));   
   9.     value = encodeURIComponent(unescape(value));   
  10.     document.cookie = name+'='+value+   
  11.         ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) +   
  12.         ( ( path ) ? ';path=' + path : '' ) +    
  13.         ( ( domain ) ? ';domain=' + domain : '' ) +   
  14.         ( ( secure ) ? ';secure' : '' );    
  15. }

3.刪除cookie的值 cookie


1. function delAllCookie()   
   2. {   
   3.     tmpArr = document.cookie.split(";");   
   4.     delKey = new Array();   
   5.     for(i in tmpArr)   
   6.     {   
   7.         if(tmpArr[i].indexOf("mykeywords") != -1)   
   8.         {   
   9.             delKey.push(decodeURIComponent(tmpArr[i].split("=")[0]));   
  10.         }   
  11.     }   
  12.     today = new Date();   
  13.     today.setTime(today.getTime() - 10000);   
  14.     for(i in delKey)   
  15.     {   
  16.         name = delKey[i];   
  17.         document.cookie = name+"='';expires="+today.toGMTString();   
  18.     }   
  19.     tmpArr = delKey = today = "";   
  20. }

因爲JS上沒法直接刪除cookie因此採用過時的方式來刪除cookie上邊的例子是刪除多個的,想單獨刪除某個值的時候參照添加單個 cookie dom

1. //刪除cookie的某個值   
   2. function delCookie(value)   
   3. {   
   4.     len = keywords.length;   
   5.     for(i in keywords)   
   6.     {   
   7.         if(keywords[i] == value)   
   8.         {   
   9.             keywords.splice(i,1);   
  10.         }   
  11.     }   
  12.        
  13.     if(keywords.length == 0)   
  14.     {   
  15.         delAllCookie();   
  16.     }   
  17. }


decodeURIComponent 對UTF-8的字符進行解碼 編碼

encodeURIComponent 對字符進行編碼 UTF-8 spa

能夠用來和UTF-8的程序文件進行交互 .net

JS操做cookie的BUG code

當不一樣級目錄設置操做cookie的時候,下級目錄能夠讀取上級目錄,可是不能對上級目錄設置的COOKIE進行直接操做,若是對數組類型的 cookie進行操做時,下級目錄會自動複製上級目錄中的cookie致使cookie會現問題(會出現兩個同樣的cookie),因此在不一樣級目錄中最好不要操做數同一個組類型的cookie ci

二:屬性 get

 

Domain 屬性獲取或設置 Cookie 對其有效的 URI。

Expires 屬性獲取或設置做爲 DateTime 的 Cookie 過時日期和時間。

Name 屬性獲取或設置 Cookie 的名稱。

Secure 屬性獲取或設置 Cookie 的安全級別。

Value 屬性獲取或設置 Cookie 的 Value

相關文章
相關標籤/搜索