1、設置COOKIE數據:
最基本的COOKIE只包括COOKIE名和它的值,語法如下
document.cookie="Cookie_name=Cookie_value"
警告 不要在cookie名或值中使用特殊字符(完全沒有必要去走極端,當然如果一定要考慮到特殊符號,請自行測試)。
但是,假設我們需要保存的名或值有這些符號,怎么辦呢?最簡單的辦法就是使用escape(string)方法,這個方法是用一個字符串參數,把其中的非字母或數字字符轉換為等價的數值(16進制),然后在前面加上百分號。
如:document.cookie="book_name="+escape("Special Edition Using JavaScript")
結果為:Special%20Edition%20Using%20JavaScrpit
2、獲取COOKIE值:
獲取cookie的值要稍微麻煩一點,首先要把cookie屬性保存到一個變量:cookie_string=document.cookie 從而得到一個形如 cookie_name=cookie_value 的字符串。然后取等號的索引位置,再使用String對象的substring()方法抽取值,如果值使用了escape()方法編碼,還要用 unescape() 進行解碼。cookie_string=unescape(document.cookie)
3、處理多個COOKIE:
定義多個COOKIE documet.cookie="name1=value1; name2=value2" 每個cookie之間用分號和一個空格分開
處理用 split() 方法,如: var cookie_array = document.cookie.split(";")
即 cookie_arrar[0]和[1]各為上面的COOKIE字符串。
4、終止日期:
var days=30;
var expire_date=new Date();
var ms_from_now=days*24*60*60*1000;
expire_date.setTime(expire_date.getTime()+ms_from_now);
var expire_string=expire_date.toGMTString();//轉為GMT格式的String
document.cookie="count_cookie=visit_number; expires="+expire_string;
5、其他參數:
document.cookie="name=value; path=cookie_dir";//指定訪問的目錄,所有頁面訪問,則把path設為根目錄(/)。
參數domain用于指定站點上可以訪問cookie的主機名,如果沒有指定,則默認為站點所在的WEB服務器的主機名。如果服務器只有一個主機名,則不需要考慮這個參數。如:domain=.domain.com
secure, 這是一個boolean值。如果為真,則該cookie只發往使用HTTPS(安全)協議連接的瀏覽器;如果為假(或忽略)則發給所有的瀏覽器,即使使用了不安全的HTTP協議。如:document.cookie="name1=value1; true"。
6、刪除COOKIE:
可以通過其過期日期設為過去的某個時間來刪除,這將使得瀏覽器立即刪除該cookie。為了簡化,可以使用set_cookie()并參數賦一個負值,刪除時必須指定與創建時相同的參數。如指定了 path 哪么例為:set_cookie("bgcolor_cookie","",-1,"/"); 如果要刪除站點上所有的 cookie 重新開始,則不用指定 path。