HTML5本地儲存Localstorage的應用

2022-04-02 09:02:32 字數 2351 閱讀 8083

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...