国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

HTML5 高級教程之web Storage

2020-03-24 15:59:49
字體:
供稿:網(wǎng)友
前言

HTML5 的 web Storage 存儲方式有兩種:localStorage 和 sessionStorage。

這兩種方式都是通過鍵值對保存數(shù)據(jù),存取方便,不影響網(wǎng)站性能。他們的用法相同,存儲時間不同。
localStorage 的數(shù)據(jù)保存在本地硬件上,可以永久保存,可以手動調(diào)用api清除數(shù)據(jù)。sessionStorage 保存在 session 對象中,會在瀏覽器關(guān)閉時被清除。

web Storage 的大小在瀏覽器上是有限制的,不同瀏覽器大小會有區(qū)別,在主流瀏覽器中,大小約為 5M,用來存儲普通數(shù)據(jù)其實已經(jīng)足夠。

用法

以 localStorage 為例,sessionStorage 用法一樣:

setItem

保存數(shù)據(jù):localStorage.setItem(key,html' target='_blank'>value);

示例:

localStorage.setItem( name , Hello World 

當 key 相同時會覆蓋之前的 value,用于修改數(shù)據(jù)。如果 value 為對象,需轉(zhuǎn)為 json 字符串,否則你讀取出來的將會是 [object Object]

getItem

讀取數(shù)據(jù):localStorage.getItem(key);

示例:

localStorage.getItem( name // Hello World
removeItem

刪除單個數(shù)據(jù):localStorage.removeItem(key);

示例:

localStorage.removeItem( name localStorage.getItem( name // null

刪除 key 為 name 的數(shù)據(jù)后,loaclStorage 里已經(jīng)獲取不到該數(shù)據(jù),則返回 null;

clear

刪除所有數(shù)據(jù):localStorage.clear();

示例:

localStorage.clear();

此時會把 localStorage 中的所有數(shù)據(jù)都刪除。

key

得到某個索引的key:localStorage.key(index);
示例:

localStorage.setItem( name1 , Hello World localStorage.setItem( name2 , Hello Linxin localStorage.key(1); // name2

獲取到索引為 1 的 key,即 name2。

構(gòu)造函數(shù)

在實際項目中,可能需要多次對 localStorage 進行操作,我們可以通過一個構(gòu)造函數(shù)來更好的操作。

示例:

var localEvent = function (item) { this.get = function () { return localStorage.getItem(item); this.set = function (val) { localStorage.setItem(item, val); this.remove = function () { localStorage.removeItem(item); this.clear = function () { localStorage.clear();// 使用new字符把構(gòu)造函數(shù)實例化出多個對象var local1 = new localEvent( name1 var local2 = new localEvent( name2 local1.set( Hello World local2.set( Hello Linxin local1.get(); // Hello Worldlocal2.get(); // Hello Linxin

這里只是簡單的演示,像我們平時在項目中可能要把對象存儲起來,就需要在代碼里做些處理。

監(jiān)聽 storage 事件

可以通過監(jiān)聽 window 對象的 storage 事件并指定其事件處理函數(shù),當頁面中對 localStorage 或 sessionStorage 進行修改時,則會觸發(fā)對應(yīng)的處理函數(shù)。

window.addEventListener( storage ,function(e){ console.log( key= +e.key+ ,oldValue= +e.oldValue+ ,newValue= +e.newValue);})

觸發(fā)事件的時間對象(e 參數(shù)值)有幾個屬性:

key : 鍵值。

oldValue : 被修改前的值。

newValue : 被修改后的值。

url : 頁面url。

storageArea : 被修改的 storage 對象。

注意:在谷歌瀏覽器中,需要在不同標簽頁中修改 storage 才會觸發(fā)該事件,即 網(wǎng)頁A 監(jiān)聽該事件,在 網(wǎng)頁B 中修改 localStorage,則 網(wǎng)頁A 會觸發(fā)事件函數(shù)。但是在 IE 中,在同個網(wǎng)頁修改 localStorage 都會觸發(fā)該事件。

調(diào)試

谷歌瀏覽器自帶調(diào)試工具(chrome devtools)非常好用,可以用來調(diào)試 localStorage 和 sessionStorage。打開瀏覽器按f12調(diào)出調(diào)試工具,可以看到 Application ,點擊打開可以看到左邊欄有 Storage,包括了 localStorage、sessionStorage、IndexedDB等,選中我們要調(diào)試的網(wǎng)站域名,可以看到右邊有對應(yīng)的 key 和 value,可以通過右鍵進行編輯或刪除等。

兼容

IE8 以上就兼容,但是比較特別,需要在服務(wù)器上打開的才支持,直接雙擊打開文件的 file:// 是不兼容的。

到了 IE11 才支持 file:// 下打開的,其他瀏覽器的支持程度都很高,包括在手機上的兼容。

【相關(guān)推薦】

1. 免費h5在線視頻教程

2. HTML5 完整版手冊

3. VeVb.com原創(chuàng)html5視頻教程

以上就是HTML5 高級教程之web Storage的詳細內(nèi)容,其它編程語言

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 汉阴县| 赤壁市| 新建县| 连平县| 昔阳县| 武山县| 政和县| 阿拉尔市| 阳新县| 大悟县| 龙井市| 常宁市| 泰来县| 雷山县| 玉屏| 巩义市| 江陵县| 光山县| 台州市| 内黄县| 济阳县| 镶黄旗| 庄浪县| 岳阳市| 望谟县| 师宗县| 慈溪市| 台北市| 治多县| 同仁县| 巴林右旗| 宁安市| 南澳县| 台东市| 彝良县| 霸州市| 清原| 麦盖提县| 临沂市| 江源县| 巴彦淖尔市|