校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > html5指南-5.使用web storage存儲鍵值對的數據

html5指南-5.使用web storage存儲鍵值對的數據

熱門標簽:江蘇高頻外呼系統線路 地圖標注自己去過的地方 會聲會影怎樣做地圖標注效果 電銷機器人視頻 搜狗星級酒店地圖標注 洛陽市伊川縣地圖標注中心官網 高德地圖標注錯誤怎么修改 平頂山電子地圖標注怎么修改 標準智能外呼系統
本節課的內容是介紹web storage,使用它在瀏覽器里存儲鍵值對的數據,功能上像以前的cookie一樣,不過他更好,存儲的數據可以更大。有兩種類型的web storage:local storage和session storage,他們使用相同的實現機制,只是可見性和生命周期不同。
1.使用local storage
我們使用localStorage對象來訪問local storage,他返回Storage對象,Storage用來存儲鍵值對的數據,他有下面一些屬性和方法:
clear():清楚存儲的鍵值對數據;
getItem(<key>):通過key獲取value值;
key(<index>):通過索引獲取key值;
length:返回鍵值對的個數;
removeItem(<key>):通過key移出指定數據;
setItem(<key>,<value>):添加一個鍵值對,當指定key的鍵值對存在,則實現更新操作;
[<key>]:通過數組下標的方式,使用key獲取指定value值。
Storage對象允許我們存儲key和value都是字符串形式的鍵值對數據,key是唯一的,意味著當我們使用setItem方法添加鍵值對時,如果key值已經存在的話,將實現更新的操作。我們來看下面的例子:

復制代碼
代碼如下:

<!DOCTYPE HTML>
<html>
<head>
<title>Example</title>
<style>
body > *{float: left;}
table{border-collapse: collapse;margin-left: 50px;}
th, td{padding: 4px;}
th{text-align: right;}
input{border: thin solid black;padding: 2px;}
label{min-width: 50px;display: inline-block;text-align: right;}
#countmsg, #buttons{margin-left: 50px;margin-top: 5px;margin-bottom: 5px;}
</style>
</head>
<body>
<div>
<div>
<label>Key:</label><input id="key" placeholder="Enter Key" /></div>
<div>
<label>Value:</label><input id="value" placeholder="Enter Value" /></div>
<div id="buttons">
<button id="add">Add</button>
<button id="clear">Clear</button>
</div>
<p id="countmsg">There are <span id="count"></span>items</p>
</div>
<table id="data" border="1">
<tr>
<th>Item Count:</th>
<td id="count">-</td>
</tr>
</table>
<script>
displayData();
var buttons = document.getElementsByTagName('button');
for (var i = 0; i < buttons.length; i++) {
buttons[i].onclick = handleButtonPress;
}
function handleButtonPress(e) {
switch (e.target.id) {
case 'add':
var key = document.getElementById('key').value;
var value = document.getElementById('value').value;
localStorage.setItem(key, value);
break;
case 'clear':
localStorage.clear();
break;
}
displayData();
}
function displayData() {
var tableElement = document.getElementById('data');
tableElement.innerHTML = '';
var itemCount = localStorage.length;
document.getElementById('count').innerHTML = itemCount;
for (var i = 0; i < itemCount; i++) {
var key = localStorage.key(i);
var val = localStorage.getItem(key);
tableElement.innerHTML += '<tr><th>' + key + ':</th><td>' + val + '</td></tr>';
}
}
</script>
</body>
</html>

我們來看運行結果


瀏覽器不能刪除我們通過localStorage創建的數據,除非用戶刪除它。
2.監聽Storage事件
通過local storage存儲的數據對同源的文檔具有可見性,比如你打開兩個chrome瀏覽器訪問同一個url地址,在任何一個頁面上創建的local storage對另外一個頁面也是可見的。但是如果用別的瀏覽器(如firefox)打開相同url地址,local storage是不可見的,因為他們不同源了。Storage事件就是用來監聽storage的內容發生改變的,下面我們看他包含哪些屬性:
key:返回發生改變的key值;
oldValue:返回發生改變key值以前的value值;
newValue:返回發生改變key值新的value值;
url:發生改變的url地址;
storageArea:返回發生改變的Storage對象(是local storage還是session storage)。
下面我們看個例子:

復制代碼
代碼如下:

<!DOCTYPE HTML>
<html>
<head>
<title>Storage</title>
<style>
table{border-collapse: collapse;}
th, td{padding: 4px;}
</style>
</head>
<body>
<table id="data" border="1">
<tr>
<th>key</th>
<th>oldValue</th>
<th>newValue</th>
<th>url</th>
<th>storageArea</th>
</tr>
</table>
<script>
var tableElement = document.getElementById('data');
window.onstorage = function (e) {
var row = '<tr>';
row += '<td>' + e.key + '</td>';
row += '<td>' + e.oleValue + '</td>';
row += '<td>' + e.newValue + '</td>';
row += '<td>' + e.url + '</td>';
row += '<td>' + (e.storageArea == localStorage) + '</td></tr>';
tableElement.innerHTML += row;
}
</script>
</body>
</html>

我們在例1中增刪改storage的數據,會在例2頁面上顯示出來。例2在chrome瀏覽器中運行正常,firefox沒有反應,其他瀏覽器沒有測試。
運行結果


3.使用session storage
session storage在使用上和local storage一樣,只是他的訪問性上只限于當前頁面,并且頁面關閉后會消失,我們通過sessionStorage來訪問它。

復制代碼
代碼如下:

<!DOCTYPE HTML>
<html>
<head>
<title>Example</title>
<style>
body > *{float: left;}
table{border-collapse: collapse;margin-left: 50px;}
th, td{padding: 4px;}
th{text-align: right;}
input{border: thin solid black;padding: 2px;}
label{min-width: 50px;display: inline-block;text-align: right;}
#countmsg, #buttons{margin-left: 50px;margin-top: 5px;margin-bottom: 5px;}
</style>
</head>
<body>
<div>
<div>
<label>Key:</label><input id="key" placeholder="Enter Key" /></div>
<div>
<label>Value:</label><input id="value" placeholder="Enter Value" /></div>
<div id="buttons">
<button id="add">Add</button>
<button id="clear">Clear</button>
</div>
<p id="countmsg">There are <span id="count"></span>items</p>
</div>
<table id="data" border="1">
<tr>
<th>Item Count:</th>
<td id="count">-</td>
</tr>
</table>
<iframe src="storage.html" width="500" height="175"></iframe>
<script>
displayData();
var buttons = document.getElementsByTagName("button");
for (var i = 0; i < buttons.length; i++) {
buttons[i].onclick = handleButtonPress;
}
function handleButtonPress(e) {
switch (e.target.id) {
case 'add':
var key = document.getElementById("key").value;
var value = document.getElementById("value").value;
sessionStorage.setItem(key, value);
break;
case 'clear':
sessionStorage.clear();
break;
}
displayData();
}
function displayData() {
var tableElement = document.getElementById('data');
tableElement.innerHTML = '';
var itemCount = sessionStorage.length;
document.getElementById('count').innerHTML = itemCount;
for (var i = 0; i < itemCount; i++) {
var key = sessionStorage.key(i);
var val = sessionStorage.getItem(key);
tableElement.innerHTML += "<tr><th>" + key + ":</th><td>" + val + "</td></tr>";
}
}
</script>
</body>
</html>

運行效果


你在例3中做任何修改,例2的頁面不會發生任何改變。
總結: 
sessionStorage用于本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問并且當會話結束后數據也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。
localStorage用于持久化的本地存儲,除非主動刪除數據,否則數據是永遠不會過期的。
web storage和cookie的區別:Web Storage的概念和cookie相似,區別是它是為了更大容量存儲設計的。Cookie的大小是受限的,并且每次你請求一個新的頁面的時候Cookie都會被發送過去,這樣無形中浪費了帶寬,另外cookie還需要指定作用域,不可以跨域調用。除此之外,Web Storage擁有setItem,getItem,removeItem,clear等方法,不像cookie需要前端開發者自己封裝setCookie,getCookie。還有,web storage每個域(包括子域)有獨立的存儲空間,各個存儲空間是完全獨立的,因此不會造成數據混亂。
但是Cookie也是不可以或缺的:Cookie的作用是與服務器進行交互,作為HTTP規范的一部分而存在 ,而Web Storage僅僅是為了在本地“存儲”數據而生。
源碼下載

標簽:松原 阿克蘇 常德 鄂爾多斯 果洛 蚌埠 廣西 廣東

巨人網絡通訊聲明:本文標題《html5指南-5.使用web storage存儲鍵值對的數據》,本文關鍵詞  html5,指南,-5.,使用,web,storage,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5指南-5.使用web storage存儲鍵值對的數據》相關的同類信息!
  • 本頁收集關于html5指南-5.使用web storage存儲鍵值對的數據的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    最新高清无码专区| 中文字幕亚洲欧美在线不卡| 国产aⅴ综合色| 毛片av一区二区| 亚洲成人精品一区| 无码av中文一区二区三区桃花岛| 亚洲乱码国产乱码精品精的特点| 久久精品人人爽人人爽| 精品美女被调教视频大全网站| 制服丝袜亚洲网站| 欧美精品日韩一区| 欧美调教femdomvk| 欧美亚洲综合另类| 欧美日韩1区2区| 欧美午夜一区二区三区免费大片| 色8久久精品久久久久久蜜| 91精品婷婷国产综合久久| 成人午夜短视频| 国产mv日韩mv欧美| 高清免费成人av| 成人aaaa免费全部观看| 菠萝蜜视频在线观看一区| av成人老司机| 99久久精品免费看国产| 99久久伊人网影院| 97se亚洲国产综合自在线| 91在线视频观看| 欧美亚洲禁片免费| 91精品免费在线| 欧美精品1区2区| 日韩视频免费观看高清完整版| 欧美成人伊人久久综合网| 精品电影一区二区| 欧美一级理论片| 26uuu另类欧美亚洲曰本| 日本一区二区综合亚洲| 中文字幕一区二区三区四区| 亚洲欧美经典视频| 亚洲国产精品影院| 日本三级亚洲精品| 国产精品伊人色| 99久久综合国产精品| 看电影不卡的网站| 亚洲综合av网| 国产精品一卡二| 欧美三级日韩在线| 精品电影一区二区| 亚洲一二三四久久| 国产毛片精品一区| 欧美乱熟臀69xxxxxx| 日本一区二区三区四区| 天天色综合天天| 99国产精品国产精品毛片| 欧美日韩国产小视频| 欧美激情中文不卡| 日韩va亚洲va欧美va久久| av激情成人网| 久久尤物电影视频在线观看| 一区二区三区精品在线观看| 国产高清精品网站| 91精品国产欧美一区二区18| 亚洲欧美电影一区二区| 国产精品888| 日韩一级二级三级精品视频| 亚洲精品ww久久久久久p站| 国产成人啪免费观看软件| 欧美妇女性影城| 一区二区三区在线免费视频| 成人综合婷婷国产精品久久| 欧美tk—视频vk| 日韩精品成人一区二区在线| 欧美精品一区二区三区蜜臀 | 亚洲精品国产第一综合99久久| 麻豆成人免费电影| 欧美精品色综合| 一片黄亚洲嫩模| 91在线一区二区| 国产日产欧美一区| 国内外成人在线| 日韩一区二区三区免费看| 亚洲午夜激情av| 91久久人澡人人添人人爽欧美| 中文字幕第一区第二区| 国产乱对白刺激视频不卡 | 五月天视频一区| 欧美最猛性xxxxx直播| 亚洲四区在线观看| 99这里都是精品| 国产精品免费免费| 成人免费毛片嘿嘿连载视频| 久久久综合精品| 国产精品77777竹菊影视小说| 日韩精品一区二区三区视频| 日本不卡一区二区三区| 欧美日韩成人综合在线一区二区| 一区二区三区四区高清精品免费观看| 99久久综合精品| 中文字幕在线不卡视频| av亚洲精华国产精华精华 | 国产精品一区一区三区| 日韩免费一区二区| 久久se这里有精品| 精品sm在线观看| 国产精品一区二区久久精品爱涩| 2014亚洲片线观看视频免费| 精品一区二区免费视频| 精品国产99国产精品| 国产福利一区在线| 中文字幕中文字幕在线一区| 91影院在线免费观看| 一区二区三区在线不卡| 欧美日韩亚洲综合在线| 日本v片在线高清不卡在线观看| 欧美一级艳片视频免费观看| 麻豆高清免费国产一区| 国产三级一区二区| a级精品国产片在线观看| 亚洲人成网站在线| 欧美精品一二三区| 韩国成人精品a∨在线观看| 欧美国产1区2区| 欧美在线制服丝袜| 色综合天天综合网天天狠天天 | 日韩成人免费在线| 精品久久久久久亚洲综合网 | 久久久精品一品道一区| 成人涩涩免费视频| 亚洲理论在线观看| 欧美精品亚洲一区二区在线播放| 精品写真视频在线观看| 国产精品嫩草99a| 欧美色网站导航| 麻豆国产精品一区二区三区| 中文字幕精品一区二区精品绿巨人| 色悠悠久久综合| 蜜臀久久久99精品久久久久久| 欧美极品另类videosde| 欧洲av一区二区嗯嗯嗯啊| 久久www免费人成看片高清| 国产精品久久久久久亚洲伦| 欧美四级电影网| 国产一区三区三区| 亚洲一区日韩精品中文字幕| 日韩精品资源二区在线| 成人app在线| 视频一区在线播放| 日本一区二区视频在线| 欧美精品久久久久久久久老牛影院| 老司机精品视频一区二区三区| 中文字幕永久在线不卡| 日韩一区二区三区免费观看| 99久久精品免费看| 久久99久久久久久久久久久| 亚洲天堂精品在线观看| 欧美岛国在线观看| 色婷婷一区二区三区四区| 国产一区二区三区综合| 亚洲二区在线观看| 亚洲欧洲美洲综合色网| 日韩欧美一区二区三区在线| 91免费观看视频| 国产美女精品在线| 天堂影院一区二区| 日韩毛片视频在线看| 精品国产伦一区二区三区观看体验| 91久久精品国产91性色tv| 国产aⅴ综合色| 久久99在线观看| 午夜免费久久看| 中文字幕综合网| 国产午夜一区二区三区| 欧美一区二区三区日韩| 色8久久人人97超碰香蕉987| 从欧美一区二区三区| 另类综合日韩欧美亚洲| 偷偷要91色婷婷| 亚洲一区二区视频在线观看| 蜜臀久久久99精品久久久久久| 亚洲狠狠丁香婷婷综合久久久| 日本一区二区三区高清不卡| 欧美成人国产一区二区| 4438x亚洲最大成人网| 欧美在线观看18| 91麻豆成人久久精品二区三区| 成人一级黄色片| 国产一区二区三区四区五区美女 | 国产精品国产三级国产aⅴ原创 | 日韩毛片精品高清免费| 国产调教视频一区| 久久免费的精品国产v∧| 欧美一区二区福利在线| 91精品国产综合久久久久| 欧美日韩一区不卡| 欧美在线观看一区| 欧美在线观看18| 在线视频观看一区| 色拍拍在线精品视频8848| 99精品视频在线观看免费| 波多野结衣中文一区| www.欧美日韩|