屬性
name 唯一必須設(shè)置的屬性,表示cookie的名稱
expires 指定cookie的存活周期,如不設(shè)置,瀏覽器關(guān)閉自動失效
path 決定cookie對于服務(wù)器對于其他網(wǎng)頁的可用性,一般情況下, cookie對同一目錄下的所有頁面都可用,當(dāng)設(shè)置path屬性后,cookie只對指定路徑及子路徑下的所有網(wǎng)頁有效
domain 許多服務(wù)器由多臺服務(wù)器組成,domain屬性主要設(shè)置相同域下的多臺服務(wù)器共享一個(gè)cookie,如果web服務(wù)器a需要與web服務(wù)器b共享cookie,需要把a(bǔ)的cookie的domain屬性設(shè)置為b,這樣a創(chuàng)建的cookie就能被a、b共享
secure 一般支持SSL的網(wǎng)站以HTTPS開頭,secure 屬性可設(shè)置cookie只能通過HTTPS 的或者其他安全協(xié)議訪問
cookie 本質(zhì)上是字符串
一般情況下,cookie不能包含分號、逗號、空格等特殊字符,但是對于這些字符可以使用編碼進(jìn)行傳輸,也就是將文本字符串中的專用字符轉(zhuǎn)換成對應(yīng)的十六進(jìn)制的ASCII值,可使用encodeURI()函數(shù)將文本字符轉(zhuǎn)換成有效地URI,使用decodeURI()函數(shù)進(jìn)行解碼
寫入cookie
var cookieTest ="name=userName";document.cookie= cookieTest; //存入//用分號分割不同屬性var date = newDate();date.setDate(date.getDate()+7); //設(shè)置cookie的存活時(shí)間為一星期document.cookie= encodeURI("name=user")+";expires="+date.toUTCString();
讀取cookie
var cookieString= decodeURI(document.cookie);var cookieArray= cookieString.split(";");for(vari=0;i< cookieArray.length;i++){ var cookieNum = cookieArray[i].split("="); var cookieName = cookieNum[0]; var cookieValue = cookieNum[1];}
刪除cookie
var date = newDate();date.setTime(date.getTime()-10000);document.cookie= "name=User;expires="+date.toGMTString;//刪除一個(gè)cookie就是將其過期時(shí)間設(shè)置為過去的一個(gè)時(shí)間值