在HTML5中,本地存儲是一個window的屬性,包括localStorage和sessionStorage,從名字應該可以很清楚的辨認二者的區別,前者是一直存在本地的,後者只是伴隨着session,窗口一旦關閉就沒了。二者用法完全相同,這裏以localStorage為例。

1 if(window.localStorage){
2  alert('This browser supports localStorage');
3 }else{
4  alert('This browser does NOT support localStorage');
5 }

 

而讀取、寫、刪除操作方法有很多方法,也很簡單,但長用getItem()和setItem(),清除鍵值對使用removeItem()。如果希望一次性清除所有的鍵值對,可以使用clear()。

1 localStorage.setItem("user","abcd");
2 localStorage.setItem("user1","abcd1");
3 localStorage.removeItem("user");

 

 

cookie 是存儲於訪問者的計算機中的變量,用來存放一些數據。在我們瀏覽頁面時,經常會填寫自己的名字等,這些會被存放於cookie中。

學習cookie主要有3個函數,包括創建cookie,獲取cookie中的值,刪除cookie。

創建cookie:

1 function setcookie(name,value,iday){
2 
3   var odate=new Date();
4 
5   odate.setDate(odate.getDate()+iday);
6 
7   document.cookie=name+"="+value+";expires="+odate;
8 
9 }

 

獲取cookie:

1 function setcookie(name){
 2 
 3   var cookies=document.cookie;
 4 
 5   var arr1=cookies.split("; ");
 6 
 7   for (i=0;i<arr1.length;i++){
 8 
 9     var arr2=arr1[i].split("=")
10 
11     if(name==arr2[0]){
12 
13       return arr2[1];
14 
15     }
16 
17   }
18 
19   return false;
20 
21 }

 

刪除cookie:

1 function removecookie(name){
2 
3   setcookie(name,"","-1")  //通過建立cookie的時間設置,將時間設置為提前一天;
4 
5 }

 

 

一個輕量級的cookie 插件,可以讀取、寫入、刪除 cookie。 

jquery.cookie.js 的配置 
首先包含jQuery的庫文件,在後麪包含 jquery.cookie.js 的庫文件。 

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script> 

<script type="text/javascript" src="js/jquery.cookie.js"></script> 

使用方法 

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 即可。