好程式設計師前端教程之HTML5中的storage 如何使用?
HTML5中,我們常常用到storage,那這個storage到底是什麼?有啥用呢?
其實, storage是個很簡單的東西,只要熟悉JavaScript中物件的童鞋,看完小編本文的分享,對storage的概念及用法應該都能掌握個七七八八了。
在 HTML5中,你可以吧storage 想象成是儲存在客戶端(瀏覽器)中的一些 javascript 物件,那麼有什麼用呢?舉個簡單的例子,百度搜尋會把你每次的搜尋關鍵字用 storage(localStorage) 儲存下來,那麼下次你再搜尋相同的內容的時候,它會優先將你曾經搜過的內容進行下拉展示。 關於 storage 的內容,可以用 chrome 下的 Resources 皮膚進行檢視。
方法:
1、clear() 刪除所有值。ff 沒有實現
2、getItem(name) 根據指定的名字 name 獲取對應的值
3、key(index) 獲得 index 位置處的值的名字
4、removeItem(name) 刪除由 name 指定的名值對
5、setItem(name, value) 為指定的 name 設定一個對應的值
也可以用點語法和方括號語法來訪問設定,但是建議用上面的方法。除此之外,還需要注意的一點就是 value 必須是字串 。
sessionStorage
顧名思義, sessionStorage 物件儲存特定於某個會話的資料,也就是該資料只保持到瀏覽器關閉,或者更準確地說是保持到該頁面標籤關閉為止。對於同一個頁面,在不同標籤中開啟,是擁有不同的 sessionStorage 物件的,而如果相同頁面,重新整理後,sessionStorage 物件也會重新開始。
// 設定
sessionStorage.setItem('name', 'maiziedu');
sessionStorage.age = '10';
// 讀取
var name = sessionStorage.getItem('name'); // maiziedu
var age = sessionStorage.age; // 10
// 遍歷
for (var i = 0, len = sessionStorage.length; i < len; i++) {
var key = sessionStorage.key(i);
var value = sessionStorage.getItem(key);
console.log(key, value);
}
// age 10
// name maiziedu
// 也可以用 for in
for (var key in sessionStorage) {
console.log(key, sessionStorage.getItem(key));
}
// 刪除
delete sessionStorage.name;
sessionStorage.removeItem('age');
因為 sessionStorage 物件繫結於某個伺服器會話,所以當檔案在本地執行的時候是不可用的。
sessionStorage 物件主要用於僅針對會話的小段資料的儲存,如果需要跨域會話儲存資料,那麼就要使用 localStorage 了。
localStorage
localStorage 和 sessionStorage 大抵相同。可以多頁面訪問同一個 localStorage 物件,但是頁面必須來自同一域名(子域名無效),使用同一種協議,同一個埠(同源策略)。至於 localStorage 的使用方法,可以參考上面 sessionStorage 的使用。
Storage 事件
對 Storage 物件進行任何修改,都會在文件上觸發 Storage 事件。當透過屬性或 setItem() 方法儲存資料,使用 delete 運算子或者 removeItem() 刪除資料,或者呼叫 clear() 方法時,都會發生該事件。這個事件的 event 物件有如下屬性:
1、domain 發生變化的儲存空間的域名
2、key 設定或者刪除的鍵名
3、newValue 如果是設定值,則是新值;如果是刪除鍵,則是 null
4、oldValue 鍵被更改之前的值
遺憾的是, webkit(chrome)還不支援這個事件,儘管 IE8 以及 ff 支援其部分屬性,但因為 chrome 的不支援,註定其到目前為止還無法廣泛使用。
EventUtil.addHandler(document, 'storage', function(e) {
console.log(e.domain, e.key, e.newValue, e.oldValue);
});
以上就是 html5中,涉及到的storage相關內容及其使用方法,如果大家在前端開發中,需要實現上述功能,不妨可以試試上述方法。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2639098/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師HTML5前端培訓分享如何學好HTML5程式設計師HTML前端
- 好程式設計師web前端教程之Node.Js流程程式設計師Web前端Node.js
- 好程式設計師web前端教程之前端模組化開發程式設計師Web前端
- 好程式設計師web前端學習教程之Node Js流程程式設計師Web前端JS
- 好程式設計師前端分享HTML5 發展史程式設計師前端HTML
- 好程式設計師前端分享HTML5 智慧表單程式設計師前端HTML
- 好程式設計師HTML5大前端分享web前端面試題程式設計師HTML前端Web面試題
- 好程式設計師web前端教程之詳解JavaScript嚴格模式程式設計師Web前端JavaScript模式
- 好程式設計師web前端教程分享HTML5面試技巧程式設計師Web前端HTML面試
- 好程式設計師web前端教程之JS繼承實現方式解析程式設計師Web前端JS繼承
- 好程式設計師web前端分享HTML5中的nav標籤學習筆記程式設計師Web前端HTML筆記
- 好程式設計師web前端詳解HTML5中download屬性的應用程式設計師Web前端HTML
- 好程式設計師帶你認識HTML5中的WebSocket程式設計師HTMLWeb
- 好程式設計師前端教程-講給小白:你不知道的HTML5程式設計師前端HTML
- 好程式設計師HTML5大前端分享學Web前端開發有哪些要求程式設計師HTML前端Web
- 好程式設計師解析Web前端中的IoC是什麼程式設計師Web前端
- 好程式設計師web前端教程:字串程式設計師Web前端字串
- 好程式設計師Web前端教程之React原理解析及最佳化技巧程式設計師Web前端React
- 好程式設計師Web前端分享前端CSS篇程式設計師Web前端CSS
- 好程式設計師web前端分享HTML5 video事件應用示例程式設計師Web前端HTMLIDE事件
- 好程式設計師前端教程之JavaScript閉包和匿名函式的關係詳解程式設計師前端JavaScript函式
- 好程式設計師web前端教程分享js中的模組化二程式設計師Web前端JS
- 好程式設計師web前端教程分享js中的模組化一程式設計師Web前端JS
- 好程式設計師web前端分享如何自學前端?步驟是什麼?程式設計師Web前端
- 好程式設計師web前端分享HTML5常見面試題集錦五程式設計師Web前端HTML面試題
- 好程式設計師web前端分享HTML5常見面試題集錦四程式設計師Web前端HTML面試題
- 好程式設計師web前端分享HTML5常見面試題集錦三程式設計師Web前端HTML面試題
- 好程式設計師web前端分享HTML5常見面試題集錦二程式設計師Web前端HTML面試題
- 好程式設計師web前端分享常見html5語義化標籤程式設計師Web前端HTML
- 好程式設計師分享HTML5精品技術文章--前端崗位需求分析程式設計師HTML前端
- 好程式設計師web前端培訓分享如何講清楚Promise?程式設計師Web前端Promise
- 好程式設計師Web前端培訓分享如何講清楚this指向?程式設計師Web前端
- 好程式設計師web前端分享:如何理解web語義化?程式設計師Web前端
- 好程式設計師分享Web前端開發就業前景如何?程式設計師Web前端就業
- 好程式設計師web前端教程分享js reduce方法使用教程程式設計師Web前端JS
- 好程式設計師技術文件HTML5開發中的javascript閉包程式設計師HTMLJavaScript
- 好程式設計師web前端分享如何理解JS的單執行緒程式設計師Web前端JS執行緒
- 好程式設計師前端教程-javascript的物件導向程式設計師前端JavaScript物件