javascript讀寫cookie操作簡單介紹

antzone發表於2017-06-19

本章節介紹一下javascript如何讀cookie。

cookie是存放在本地計算機的一個小檔案,資訊是以鍵值對的方式存在的,比如可以存放登陸使用者名稱和密碼,這在實際應用中比較常見,比如記住一些使用者資訊,下一次登陸的時候就無需再次填寫,下面就介紹一下js如何實現讀寫cookie和其他的一些相關設定。

一.建立cookie:

[JavaScript] 純文字檢視 複製程式碼
function addCookie(sName,sValue,day){ 
  var expireDate = new Date(); 
  expireDate.setDate(expireDate.getDate()+day);; 
  //設定失效時間 
  //escape()漢字轉成unicode編碼,toGMTString() 把日期物件轉成字串 
  document.cookie=escape(sName) + '=' + escape(sValue) +';expires=' + expireDate.toGMTString();
}

以上程式碼將建立cookie封裝成一個函式,第一個引數是cookie名,第二個是cookie值,第三個引數是過期時間。

cookie預設的過期時間是關閉瀏覽器的時候。

二.讀取cookie:

[JavaScript] 純文字檢視 複製程式碼
function getCookies(){ 
  var showAllCookie = ''; 
  if(!document.cookie == ''){ 
    var arrCookie = document.cookie.split('; '); 
    var arrLength = arrCookie.length; 
    for(var i=0;i<arrLength;i++){ 
      showAllCookie += 'c_name:' + unescape(arrCookie[i].split('=')[0])
      +'c_value:'+unescape(arrCookie[i].split('=')[1])+'<br>'
    } 
    return showAllCookie; 
  } 
}

以上程式碼可以獲取所有的cookie,因為每一個cookie鍵值對與鍵值對之間是用分號分隔的,所以使用split()函式可以講它們分隔為陣列,然後使用for迴圈讀出每一個cookie資訊。

三.刪除cookie:

在預設情況下,關閉瀏覽器cookie就會過期刪除了,當然也可以人為的設定cookie過期,那就是設定cookie立馬過期即可。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
function removeCookie(){ 
  if(document.cookie != '' && confirm('是否清除cookie')){ 
    var arrCookie = document.cookie.split('; '); 
    var arrLength = arrCookie.length; 
    var expireDate = new Date(); 
    expireDate.setDate(expireDate.getDate()-1); 
    for(var i=0; i<arrLength; i++){ 
      var str = arrCookie[i].split('=')[0]; 
      document.cookie = str+ '=' + ';expires=' + expireDate.toGMTString(); 
    } 
  } 
}

以上程式碼可以設定cookie過期時間為當前時間,那麼下一秒就過期了,相當於理解過期。

四.cookie的路徑:

關於cookie的路徑這裡就不多介紹了,具體可以參閱js cookie路徑簡單介紹一章節。

五.cookie的同一域名下不同主機名問題:

關於此問題這裡也不多做介紹了,可以參閱js cookie的同一域名下不同主機名問題一章節。

相關文章