|
HTML5 是下一代 HTML 標(biāo)準(zhǔn),開(kāi)始吸引越來(lái)越多人的目光。HTML5 的 DOM Storage 機(jī)制提供了一種方式讓程序員能夠把信息存儲(chǔ)到本地的計(jì)算機(jī)上,在需要時(shí)獲取。這點(diǎn)和 cookie 相似,區(qū)別是 DOM Storage 提供了更大容量的存儲(chǔ)空間。
目前,在客戶端保存數(shù)據(jù)使用最多的是 cookie,但 cookie 的大小上限為 4KB,并且每次請(qǐng)求一個(gè)新頁(yè)面時(shí) cookie 都會(huì)被發(fā)送過(guò)去。更多的存儲(chǔ)空間需要瀏覽器本身或是插件的支持,例如只在 InterNET Explorer 上使用的 userData,需要額外安裝插件的 Google Gears 和 Flash。現(xiàn)在,HTML5 提供了一種標(biāo)準(zhǔn)的接口,使程序員可以簡(jiǎn)單地訪問(wèn)存儲(chǔ)的數(shù)據(jù)。由于鍵值對(duì)存儲(chǔ)在本地計(jì)算機(jī)上,在頁(yè)面加載完畢后可以通過(guò) JavaScript 來(lái)操作這些數(shù)據(jù)。
DOM Storage
示例應(yīng)用程序:用戶注冊(cè)
本文使用的示例應(yīng)用程序是一個(gè)簡(jiǎn)單的用戶注冊(cè)過(guò)程,表單包含三個(gè)字段:name、age 和 address,我們將其拆分為兩個(gè)表單,分兩個(gè)頁(yè)面顯示。借助簡(jiǎn)化了的數(shù)據(jù)模型,主要介紹如何利用 DOM Storage 功能處理表單跨頁(yè)問(wèn)題。
DOM Storage 兩個(gè)分類
DOM Storage 分為 sessionStorage 和 localStorage。
localStorage 對(duì)象和 sessionStorage 對(duì)象使用方法基本相同,它們的區(qū)別在于作用的范圍不同。sessionStorage 用來(lái)存儲(chǔ)與頁(yè)面相關(guān)的數(shù)據(jù),它在頁(yè)面關(guān)閉后無(wú)法使用。而 localStorage 則持久存在,在頁(yè)面關(guān)閉后也可以使用。
DOM Storage 接口
下面是 DOM Storage 的接口定義:
interface Storage {readonly attribute unsigned long length;
getter DOMString key(in unsigned long index);
getter any getItem(in DOMString key);
setter creator void setItem(in DOMString key, in any data);
deleter void removeItem(in DOMString key);
void clear();
};
it知識(shí)庫(kù):淺談 HTML5 的 DOM Storage 機(jī)制,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。