JavaScript 讀取Cookie
阿新 • • 發佈:2018-12-25
讀取Cookie
可以通過document.cookie直接讀取cookie的內容:
var strCookie = document.cookie;
此時,strCookie是一個由該域名下的所有cookie的名/值對所組成的字串,名/值對間以“分號加空格”分隔。為了方便檢視,可以使用split()方法將cookie中的名/值對解析出來,得到一個cookie的列表。然後,再使用相應的解碼方式,把cookie的值還原出來。
cookie值的解碼方式,取決於之前儲存cookie時所採用的編碼方式。比如使用encodeComponent()函式對值進行編碼,則要使用decodeComponent()函式對其值進行解碼。程式碼如下:
function getCookie(name){
var cookies = document.cookie;
var list = cookies.split("; ");// 解析出名/值對列表
for(var i =0; i < list.length; i++){
var arr = list[i].split("=");// 解析出名和值
if(arr[0]== name)
return decodeURIComponent(arr[1]);// 對cookie值解碼
}
return"";
}
說明:
許多瀏覽器(如Google Chrome)不支援在本地檔案中直接訪問cookie,所以,要確保是在Web伺服器中開啟檔案,否則可能無法進行cookie的讀寫操作。雖然IE允許對本地檔案的cookie的讀寫操作,但cookie始終是會話級別的,即使通過max-age屬性延長了cookie的生存期。
從客戶端讀取cookie時,name與value之外的其他屬性都是不可讀的,也不會被提交,瀏覽器只會提交name與value屬性。