localstorage可以說是對cookie的優化,使用它可以方便在客戶端儲存資料,並且不會隨著http傳輸,但也不是沒有問題:
① localstorage大小限制在500萬字元左右,各個瀏覽器不一致② localstorage在隱私模式下不可讀取
③ localstorage本質是在讀寫檔案,資料多的話會比較卡(firefox會一次性將資料匯入記憶體,想想就覺得嚇人啊)
④ localstorage不能被爬蟲爬取,不要用它完全取代url傳參
localstorage的使用localstorage儲存物件分為兩種:
② localstorage: 將資料儲存在客戶端硬體裝置上,不管它是什麼,意思就是下次開啟計算機時候資料還在。
兩者區別就是乙個作為臨時儲存,乙個長期儲存。
儲存資料的方法就是直接給window.localstorage新增乙個屬性,例如:window.localstorage.a 或者 window.localstorage["a"]。它的讀取、寫、刪除操作方法很簡單,是以鍵值對的方式存在的,如下:
localstorage.a = 3;//設定a為"3"
localstorage["a"] = "sfsf";//
設定a為"sfsf",覆蓋上面的值
localstorage.setitem("b","isaac");//
設定b為"isaac"
var a1 = localstorage["a"];//
獲取a的值
var a2 = localstorage.a;//
獲取a的值
var b = localstorage.getitem("b");//
獲取b的值
localstorage.removeitem("c");//
清除c的值
這裡最推薦使用的自然是getitem()和setitem(),清除鍵值對使用removeitem()。如果希望一次性清除所有的鍵值對,可以使用clear()。另外,html5還提供了乙個key()方法,可以在不知道有哪些鍵值的時候使用,如下:
var storage =window.localstorage;function
showstorage()
}
寫乙個最簡單的,利用本地儲存的計數器:
var storage =window.localstorage;if (!storage.getitem("pageloadcount")) storage.setitem("pageloadcount",0);
storage.pageloadcount = parseint(storage.getitem("pageloadcount")) + 1;//
必須格式轉換
document.getelementbyidx_x("count").innerhtml =storage.pageloadcount;
showstorage();
需要注意的是,html5本地儲存只能存字串,任何格式儲存的時候都會被自動轉為字串,所以讀取的時候,需要自己進行型別的轉換。這也就是上一段**中parseint必須要使用的原因。
另外,在iphone/ipad上有時設定setitem()時會出現詭異的quota_exceeded_err錯誤,這時一般在setitem之前,先removeitem()就ok了。
html5的本地儲存,還提供了乙個storage事件,可以對鍵值對的改變進行監聽,使用方法如下:
if(window.addeventlistener)
else
if(window.attachevent)
function
handle_storage(e) //
showstorage();
}
如果是需要相容不支援localstorage,就先檢測瀏覽器是否支援localstorage,不支援就使用cookie。
//儲存,ie6~7 cookie 其他瀏覽器html5本地儲存
var areaparam = "020";
if(window.localstorage)
else
}
取值時如下:
//從儲存中取值
var g_area = window.localstorage? localstorage.getitem("area"): cookie.read("area");
HTML5本地儲存
align center html5本地儲存 align b 1.1概述 b html5 儲存是基於鍵值對的。資料儲存在乙個鍵裡,訪問資料時可以根據同樣的鍵獲得上次儲存的資料。鍵是乙個字串。而資料則可以是任何型別的js基本資料型別,包括字串,boolean,整數,和浮點數。需要注意的是,這些資料在儲...
html5 本地儲存
前言 最近在做專案時遇到了需要將資料儲存在使用者瀏覽器本地的需求,經過查詢了解到了web storage,通過學習初步掌握了web storage,以下是一些關於web storage的知識和用法,記憶力較差發布在csdn備忘。1 什麼是html5本地儲存?通過web storage web應用程式...
html5 本地儲存
最近一直在學習 html5,為了後期的專案進行知識儲備。html5 相對於 html4 新增加了一些有趣的標籤 屬性和方法,今天主要介紹下 html5 的本地儲存。html5 提供了兩種在客戶端儲存資料的新方法 兩個方法用法完全一樣,下面就以localstorage為例。早期我們都是使用cookie...