javascript之cookie對象
屬性
name 唯一必須設定的屬性,表示cookie的名稱
expires 指定cookie的存活周期,如不設定,瀏覽器關閉自動失效
path 決定cookie對於伺服器對於其他網頁的可用性,一般情況下, cookie對同一目錄下的所有頁面都可用,當設定path屬性後,cookie只對指定路徑及子路徑下的所有網頁有效
domain 許多伺服器由多台伺服器組成,domain屬性主要設定相同域下的多台伺服器共用一個cookie,如果web伺服器a需要與web伺服器b共用cookie,需要把a的cookie的domain屬性設定為b,這樣a建立的cookie就能被a、b共用
secure 一般支援SSL的網站以HTTPS開頭,secure 屬性可設定cookie只能通過HTTPS 的或者其他安全性通訊協定訪問
cookie 本質上是字串
一般情況下,cookie不能包含分號、逗號、空格等特殊字元,但是對於這些字元可以使用編碼進行傳輸,也就是將文本字串中的專用字元轉換成對應的十六進位的ASCII值,可使用encodeURI()函數將文本字元轉換成有效地URI,使用decodeURI()函數進行解碼
寫入cookie
var cookieTest ="name=userName";document.cookie= cookieTest; //存入//用分號分割不同屬性var date = newDate();date.setDate(date.getDate()+7); //設定cookie的存活時間為一星期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;//刪除一個cookie就是將其到期時間設定為過去的一個時間值