1. 程式人生 > >jquery對cookie進行讀取、寫入和刪除

jquery對cookie進行讀取、寫入和刪除

使用前注意:

cookie雖然是儲存在本地,但是是針對伺服器的。如果是file:///C:/Users/BYF/Desktop/2.html這種靜態網址是無法使用cookie的,只有部署在伺服器上的頁面才可以使用cookie,類似於http://localhost:8080/test/2.html 這種網址才可以訪問

 

 

使用前首先需要下載jquery.cookie.js這個檔案,下載地址:http://plugins.jquery.com/cookie/

示例程式碼:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>demo</title>
		<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
		<script src="jquery.cookie.js"></script>
		<script>
		$(function() { 
			 if($.cookie("o") == null) { 
			   varo = { name: "張三", age: 24 }; 
			   varstr = JSON.stringify(varo);  //對序列化成字串然後存入cookie
			   $.cookie("o", varstr, { 
				 expires:7 //設定時間,如果此處留空,則瀏覽器關閉此cookie就失效。
			   });
			   alert("cookie為空");
			 }
			 else{ 
			   varstr1 = $.cookie("o");
			   varo1 = JSON.parse(varstr1);  //字元反序列化成物件
			   alert(varo1.name+","+varo1.age);        //輸反序列化出來的物件的姓名值
			 }
		})
		</script>
	</head>
	<body>
		
	</body>
</html>

說明文件:

1.新新增一個會話 cookie: 

$.cookie('the_cookie', 'the_value'); 

注:當沒有指明 cookie有效時間時,所建立的cookie有效期預設到使用者關閉瀏覽器為止,所以被稱為 

“會話cookie(session cookie)”。 

2.建立一個cookie並設定有效時間為 7天: 

$.cookie('the_cookie', 'the_value', { expires: 7 }); 

注:當指明瞭cookie有效時間時,所建立的cookie被稱為“持久 cookie (persistent cookie)”。 



3.建立一個cookie並設定 cookie的有效路徑: 

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' }); 

注:在預設情況下,只有設定 cookie的網頁才能讀取該 cookie。如果想讓一個頁面讀取另一個頁面設 置的cookie,必須設定cookie的路徑。cookie的路徑用於設定能夠讀取 cookie的頂級目錄。將這 個路徑設定為網站的根目錄,可以讓所有網頁都能互相讀取 cookie 。 

4.讀取cookie: 

$.cookie('the_cookie'); // cookie存在 => 'the_value' 


$.cookie('not_existing'); // cookie不存在 => null 

5.刪除cookie,通過傳遞null作為cookie的值即可: 

$.cookie('the_cookie', null); 

----------相關引數的解釋--------------- 

1).expires: 365 

定義cookie的有效時間,值可以是一個數字(從建立cookie時算起,以天為單位)或一個Date 對 

象。如果省略,那麼建立的cookie是會話cookie,將在使用者退出瀏覽器時被刪除。 

2).path: '/' 

預設情況:只有設定cookie的網頁才能讀取該cookie。 

定義cookie的有效路徑。預設情況下, 該引數的值為建立 cookie 的網頁所在路徑(標準瀏覽器的行為) 。 

如果你想在整個網站中訪問這個cookie需要這樣設定有效路徑:path: '/'。如果你想刪除一個定義 

了有效路徑的 cookie,你需要在呼叫函式時包含這個路徑:$.cookie('the_cookie', null, 

{ path: '/' });。 domain: 'example.com' 

預設值:建立 cookie的網頁所擁有的域名。 

3).secure: true 

預設值:false。如果為true,cookie的傳輸需要使用安全協議(HTTPS)。 

4).raw: true 

預設值:false。 

預設情況下,讀取和寫入 cookie 的時候自動進行編碼和解碼(使用encodeURIComponent 編碼, 

decodeURIComponent 解碼)。要關閉這個功能設定 raw: true 即可。