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