1. 程式人生 > >JavaScript 讀取Cookie

JavaScript 讀取Cookie

讀取Cookie

可以通過document.cookie直接讀取cookie的內容:

  1. var strCookie = document.cookie;

此時,strCookie是一個由該域名下的所有cookie的名/值對所組成的字串,名/值對間以“分號加空格”分隔。為了方便檢視,可以使用split()方法將cookie中的名/值對解析出來,得到一個cookie的列表。然後,再使用相應的解碼方式,把cookie的值還原出來。

cookie值的解碼方式,取決於之前儲存cookie時所採用的編碼方式。比如使用encodeComponent()函式對值進行編碼,則要使用decodeComponent()函式對其值進行解碼。程式碼如下:

  1. function getCookie(name){
  2. var cookies = document.cookie;
  3. var list = cookies.split("; ");// 解析出名/值對列表
  4. for(var i =0; i < list.length; i++){
  5. var arr = list[i].split("=");// 解析出名和值
  6. if(arr[0]== name)
  7. return decodeURIComponent(arr[1]);// 對cookie值解碼
  8. }
  9. return"";
  10. }

說明:

許多瀏覽器(如Google Chrome)不支援在本地檔案中直接訪問cookie,所以,要確保是在Web伺服器中開啟檔案,否則可能無法進行cookie的讀寫操作。雖然IE允許對本地檔案的cookie的讀寫操作,但cookie始終是會話級別的,即使通過max-age屬性延長了cookie的生存期。

從客戶端讀取cookie時,name與value之外的其他屬性都是不可讀的,也不會被提交,瀏覽器只會提交name與value屬性。