1.前言
HTML5 storage提供了一種方式讓網站能夠把信息存儲到你本地的計算機上,並再以後需要的時候進行獲取。這個概念和cookie相似,區別是它是爲了更大容量存儲設計的。Cookie的大小是受限的,並且每次你請求一個新的頁面的時候cookie都會被髮送過去。HTML5的storage是存儲在你的計算機上,網站在頁面加載完畢後可以通過Javascript來獲取這些數據。首先自然是檢測瀏覽器是否支持本地存儲。在HTML5中,本地存儲是一個window的屬性,包括localStorage和sessionStorage,從名字應該可以很清楚的辨認二者的區別,前者是一直存在本地的,後者只是伴隨着session,窗口一旦關閉就沒了。二者用法完全相同,這裏以localStorage爲例。
if(window.localStorage){
alert('支持localStorage');
}else{
alert('不支持localStorage');
}
2.基本用法
存儲數據的方法就是直接給window.localStorage添加一個屬性,例如:window.localStorage.a 或者 window.localStorage["a"]。它的讀取、寫、刪除操作方法很簡單,是以鍵值對的方式存在的,如下:
localStorage.name = "kobi";//設置name爲"kobi"
localStorage["name"] = "koko";//設置name爲"koko",覆蓋上面的值
localStorage.setItem("age","18");//設置age爲"18"
var a1 = localStorage["name"];//獲取name的值
var a2 = localStorage.age;//獲取age的值
var b = localStorage.getItem("name");//獲取name的值
localStorage.removeItem("c");//清除c的值
這裏最推薦使用的自然是getItem()和setItem(),清除鍵值對使用removeItem()。如果希望一次性清除所有的鍵值對,可以使用clear()。另外,HTML5還提供了一個key()方法,可以在不知道有哪些鍵值的時候使用,如下:
var storage = window.localStorage;
function showStorage(){
for(var i=0;i<storage.length;i++){
//key(i)獲得相應的鍵,再用getItem()方法獲得對應的值
document.write(storage.key(i)+ " : " + storage.getItem(storage.key(i)) + "<br>");
}
}