成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 突襲HTML5之Javascript API擴展3—本地存儲全新體驗

突襲HTML5之Javascript API擴展3—本地存儲全新體驗

熱門標簽:搜狗星級酒店地圖標注 標準智能外呼系統(tǒng) 高德地圖標注錯誤怎么修改 江蘇高頻外呼系統(tǒng)線路 洛陽市伊川縣地圖標注中心官網(wǎng) 會聲會影怎樣做地圖標注效果 平頂山電子地圖標注怎么修改 電銷機器人視頻 地圖標注自己去過的地方
為什么要存數(shù)據(jù)到客戶端?
存儲數(shù)據(jù)在客戶端可以解決很多的問題和減少不必要的傳輸數(shù)據(jù):
1. 能保存程序的狀態(tài):用戶關閉瀏覽器再打開后能知道他工作到哪了。
2. 能緩存數(shù)據(jù):很多不會變化的數(shù)據(jù)根本沒必要每次都從服務端獲取。
3. 能保存用戶的喜好:這種數(shù)據(jù)通常不需要存在服務端。
以前的做法
在HTML5本地存儲之前,如果我們想在客戶端保存持久化數(shù)據(jù),有這么幾個選擇:
1. HTTP cookie。HTTP cookie的缺點很明顯,最多只能存儲4KB的數(shù)據(jù),每個HTTP請求都會被傳送回服務器,明文傳輸(除非你使用SSL)。
2. IE userData。userData是微軟在上世紀90年代的瀏覽器大戰(zhàn)時推出的本地存儲方案,借助DHTML的behaviour屬性來存儲本地數(shù)據(jù), 允許每個頁面最多存儲64K數(shù)據(jù),每個站點最多640K數(shù)據(jù),userData的缺點顯而易見,它不是Web標準的一部分,除非你的程序只需要支持IE, 否則它基本沒什么用處。
3. Flash cookie。Flash cookie實際上和HTTP cookie并不是一回事,或許它的名字應該叫做"Flash本地存儲”,F(xiàn)lash cookie默認允許每個站點存儲不超過100K的數(shù)據(jù),如果超出了,F(xiàn)lash會自動向用戶請求更大的存儲空間,借助Flash的 ExternalInterface接口,你可以很輕松地通過Javascript操作Flash的本地存儲。Flash的問題很簡單,就是因為它是 Flash。
4. Google Gears。Gears是Google在07年發(fā)布的一個開源瀏覽器插件,旨在改進各大瀏覽器的兼容性,Gears內置了一個基于SQLite的嵌入式 SQL數(shù)據(jù)庫,并提供了統(tǒng)一API對數(shù)據(jù)庫進行訪問,在取得用戶授權之后,每個站點可以在SQL數(shù)據(jù)庫中存儲不限大小的數(shù)據(jù),Gears的問題就是 Google自己都已經(jīng)不用它了。
眼花繚亂的各種技術導致的就是瀏覽器的兼容性問題。這里大家用的最多的可能就是cookie了。
HTML5中的全新體驗
針對以上的問題,HTML5中給出了更加理想的解決方案:假如你需要存儲的只是簡單的用key/value對即可解決的數(shù)據(jù),則可以使用Web Storage。
與Cookie相比,Web Storage存在不少的優(yōu)勢,概括為以下幾點:
1. 存儲空間更大:IE8下每個獨立的存儲空間為10M,其他瀏覽器實現(xiàn)略有不同,但都比Cookie要大很多。
2. 存儲內容不會發(fā)送到服務器:當設置了Cookie后,Cookie的內容會隨著請求一并發(fā)送的服務器,這對于本地存儲的數(shù)據(jù)是一種帶寬浪費。而Web Storage中的數(shù)據(jù)則僅僅是存在本地,不會與服務器發(fā)生任何交互。
3. 更多豐富易用的接口:Web Storage提供了一套更為豐富的接口,使得數(shù)據(jù)操作更為簡便。
4. 獨立的存儲空間:每個域(包括子域)有獨立的存儲空間,各個存儲空間是完全獨立的,因此不會造成數(shù)據(jù)混亂。
Web Storage分類
Web Storage實際上由兩部分組成:sessionStorage與localStorage。
sessionStorage用于本地存儲一個會話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個會話中的頁面才能訪問并且當會話結束后數(shù)據(jù)也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。
localStorage用于持久化的本地存儲,除非主動刪除數(shù)據(jù),否則數(shù)據(jù)是永遠不會過期的。
檢查是否支持Web Storage
Web Storage在各大主流瀏覽器中都支持了,但是為了兼容老的瀏覽器,還是要檢查一下是否可以使用這項技術。
第一種方式:通過檢查Storage對象是否存在來檢查瀏覽器是否支持Web Storage:

復制代碼
代碼如下:

if(typeof(Storage)!=="undefined"){
// Yes! localStorage and sessionStorage support!
// Some code.....
} else {
// Sorry! No web storage support..
}

第二種方式就是分別檢查各自的對象,例如檢查localStorage是否支持:

復制代碼
代碼如下:

if (typeof(localStorage) == 'undefined' ) {
alert('Your browser does not support HTML5 localStorage. Try upgrading.');
} else {
// Yes! localStorage and sessionStorage support!
// Some code.....
}
或者:
if('localStorage' in window && window['localStorage'] !== null){
// Yes! localStorage and sessionStorage support!
// Some code.....
} else {
alert('Your browser does not support HTML5 localStorage. Try upgrading.');
}
或者
if (!!localStorage) {
// Yes! localStorage and sessionStorage support!
// Some code.....
} else {
alert('Your browser does not support HTML5 localStorage. Try upgrading.');
}

很顯然第一個方式最直接,也最簡單。
Web Storage的使用
Web Storage中存儲的是鍵值對,而且瀏覽器會以字符串方式存儲。記住在必要的時候將他們轉為其他格式。
sessionStorage與localStorage除了用途不同外,成員列表是一樣的:

復制代碼
代碼如下:

key = value: 存貯鍵值對
setItem(key, value): 存貯鍵值對
getItem(key): 取鍵值對
removeItem(key):移除所有鍵值對
clear():清空所有鍵值對
length:鍵值對的數(shù)目

這里還是要強調一下:setItem(key,value)方法中的value類型,理論上可以是任意類型,不過實際上瀏覽器會調用value的toString方法來獲取其字符串值并存儲到本地,因此如果是自定義的類型則需要自己定義有意義的toString方法。例如下面的例子結合JSON.stringify使用:

復制代碼
代碼如下:

var person = {'name': 'rainman', 'age': 24};
localStorage.setItem("me", JSON.stringify(person));
JSON.parse(localStorage.getItem('me')).name; // 'rainman'
/**
* JSON.stringify,將JSON數(shù)據(jù)轉化為字符串
* JSON.stringify({'name': 'fred', 'age': 24}); // '{"name":"fred","age":24}'
* JSON.stringify(['a', 'b', 'c']); // '["a","b","c"]'
* JSON.parse,反解JSON.stringify
* JSON.parse('["a","b","c"]') // ["a","b","c"]
*/

此外,添加鍵值對的時候,如果添加的數(shù)量比較多,比較保險的做法是去檢查是否有超出限額的異常:

復制代碼
代碼如下:

try {
localStorage.setItem(itemId, values.join(';'));
} catch (e) {
if (e == QUOTA_EXCEEDED_ERR) {
alert('Quota exceeded!');
}
}

Web Storage的方法非常簡單,下面的示例是統(tǒng)計button點擊的次數(shù)的:

復制代碼
代碼如下:

<!DOCTYPE html>
<html>
<head>
<script>
function clickCounter()
{
if(typeof(Storage)!=="undefined")
{
if (localStorage.clickcount)
{
localStorage.clickcount=Number(localStorage.clickcount)+1;
}
else
{
localStorage.clickcount=1;
}
document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s).";
}
else
{
document.getElementById("result").innerHTML="Sorry, your browser does not support web storage...";
}
}
</script>
</head>
<body>
<p><button onclick="clickCounter()" type="button">Click me!</button></p>
<div id="result"></div>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter will continue to count (is not reset).</p>
</body>
</html>

在上面的例子中,你可以把localStorage換成sessionStorage,點擊幾次button然后驗證在關閉瀏覽器前后的效果。
存在的問題
Web Storage的缺陷主要集中在其安全性方面,具體體現(xiàn)在以下兩點:
1. 瀏覽器會為每個域分配獨立的存儲空間,即腳本在域A中是無法訪問到域B中的存儲空間的,但是瀏覽器卻不會檢查腳本所在的域與當前域是否相同。即在域B中嵌入域A中的腳本依然可以訪問域B中的數(shù)據(jù)。
2. 存儲在本地的數(shù)據(jù)未加密而且永遠不會過期,極易造成隱私泄漏。
此外,更多的安全相關的問題請參看后面實用參考中的鏈接。
其他規(guī)范一覽(僅供了解,說不定什么時候就沒了)
Web Database
在老的HTML5提議中,假如你需要存儲復雜的數(shù)據(jù)則可以使用Web Database,可以像客戶端程序一樣使用SQL(Web Database標準已被廢棄,這里就是簡單提一下);
globalStorage
這個也是html5中提出來,在瀏覽器關閉以后,使用globalStorage存儲的信息仍能夠保留下來,localStorage一樣,域中任何一個頁面存儲的信息都能被所有的頁面共享, 不過目前只有FireFox支持。
基本語法:
• globalStorage['developer.mozilla.org'] —— 在developer.mozilla.org下面所有的子域都可以通過這個命名空間存儲對象來進行讀和寫。
• globalStorage['mozilla.org'] —— 在mozilla.org域名下面的所有網(wǎng)頁都可以通過這個命名空間存儲對象來進行讀和寫。
• globalStorage['org'] —— 在.org域名下面的所有網(wǎng)頁都可以通過這個命名空間存儲對象來進行讀和寫。
• globalStorage[''] —— 在任何域名下的任何網(wǎng)頁都可以通過這個命名空間存儲對象來進行讀和寫
方法屬性:
• setItem(key, value) —— 設置或重置 key 值。
• getItem(key) —— 獲取 key 值。
• removeItem(key) —— 刪除 key 值。
• 設置 key 值:window.globalStorage["planabc.net"].key = value;
• 獲取 key 值:value = window.globalStorage["planabc.net"].key;
其它特征:
• 過期時間同 localStorage,其它的一些特性也和localStorage相似。
• 現(xiàn)在Firefox只支持當前域下的globalStorage存儲, 如果使用公用域會導致一個這樣一個類似的錯誤“Security error” code: “1000”。
IndexedDB
最后我們要介紹的就是IndexedDB了,相比其他兩個規(guī)范,目前只有Firefox實現(xiàn)了IndexedDB(順便提一下,Mozilla表示它們永遠不會去實現(xiàn)Web SQL Database),不過Google已經(jīng)表示正在考慮在Chrome中加入IndexDB支持。
IndexedDB引入了一個object store的概念,這有點像是一個SQL Database,你可以在“數(shù)據(jù)庫”中存儲“記錄”,并且每條“記錄”可以擁有很多“字段",每個字段都有一個特定的數(shù)據(jù)類型,你可以選擇記錄的子集, 并使用“光標”進行遍歷,同時object store中的所有變更都是基于“事務”的。
更多的信息參看后面使用參考中講述FireFox中IndexedDB的文檔。
實用參考:
官方文檔:http://www.w3schools.com/html5/
腳本之家:https://www.jb51.net/w3school/html5/
本地存儲的安全性:http://www.mhtml5.com/2012/03/4586.html
FireFox的實驗特性IndexedDB:https://developer.mozilla.org/en-US/docs/IndexedDB

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

巨人網(wǎng)絡通訊聲明:本文標題《突襲HTML5之Javascript API擴展3—本地存儲全新體驗》,本文關鍵詞  突襲,HTML5,之,Javascript,API,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《突襲HTML5之Javascript API擴展3—本地存儲全新體驗》相關的同類信息!
  • 本頁收集關于突襲HTML5之Javascript API擴展3—本地存儲全新體驗的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久国产99| 911美女片黄在线观看游戏| 视频一区二区综合| 黄色片在线免费看| 成人免费播放器| 日韩电影免费| 国内精品国产成人国产三级粉色| 91午夜在线播放| 日韩一区二区高清| 中文字幕有码在线视频| 日韩一区电影| 国产免费一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美va亚洲va国产综合| 影音先锋男人资源在线观看| 不卡的av中文字幕| 亚洲精选视频在线| 91视频一区二区三区| 国内成人精品| 国产无遮挡一区二区三区毛片日本| 国产免费裸体视频| 中文字幕在线播放一区| 五月天久久比比资源色| 在线看黄色av| 这里只有精品99re| 黄色三级高清在线播放| 九一免费在线观看| 91在线观看免费网站| 亚洲欧美另类动漫| 久久免费视频精品| 国产视频91在线| 午夜精品视频一区| 国产色视频网站| 国产黄色免费大片| 全彩无遮挡全彩口工漫画h#| 九九九视频在线观看| 国产激情精品一区二区三区| 九色在线免费| 日本高清无吗v一区| 国产精品视频500部| 国内精品国产三级国产a久久| 荡女精品导航| 91香蕉视频在线| 亚洲天堂视频在线观看| 欧美黄页免费| 91在线短视频| 99精品一区二区三区无码吞精| 蜜臀av性久久久久av蜜臀妖精| 懂色av中文一区二区三区天美| 777米奇影视第四色| 国产女人18毛片水真多成人如厕| 日韩成人网免费视频| 在线观看国产中文字幕| 欧美激情网址| 欧美最新精品| 久久99亚洲热视| 欧美色图一区二区三区| 在线亚洲+欧美+日本专区| 91亚洲精品久久久| 欧美精品久久99久久在免费线| 欧美乱大交做爰xxxⅹ性3| 欧美顶级大胆免费视频| 国产影视一区二区| 99re只有精品| 日本福利在线| 精品视频一二区| 999精品视频在线观看播放| 一级毛片在线看| 国产精品99久久免费黑人人妻| 3d成人动漫网站| 日韩视频1区| 中文字幕在线播放网址| 色诱女教师一区二区三区| 日韩美女免费视频| 国产精品日本欧美一区二区三区| 91国偷自产一区二区三区成为亚洲经典| bl动漫在线观看| 日本爱爱免费视频| 欧美性xxxx禁忌| 无码精品黑人一区二区三区| 欧美二区三区的天堂| 欧美中文字幕一区二区三区| 97夜夜澡人人双人人人喊| 青青青伊人色综合久久| 国产视频视频一区| 国产高清视频一区二区| 4438全国亚洲精品观看视频| 忘忧草在线www成人影院| 国产精品对白一区二区三区| 欧美日韩国产精品一区二区不卡中文| www.国产成人| 成人免费视频网址| 欧美熟妇激情一区二区三区| 国产欧美一区二区三区另类精品| 色撸撸在线视频| 第一页在线视频| 嫩草嫩草嫩草嫩草嫩草| 国产+成+人+亚洲欧洲在线| 国产精品麻豆欧美日韩ww| av欧美精品.com| 热久久这里只有| 欧美亚洲国产精品| 色阁综合伊人av| 中文字幕亚洲第一| 亚洲一级黄色片| 亚洲黄色成人| 91精品久久久久久综合乱菊| 青娱乐在线视频免费观看| 另类亚洲自拍| 日日摸夜夜添一区| 日韩精品一级中文字幕精品视频免费观看| 在线精品视频一区二区三四| 国产资源精品在线观看| a√在线中文网新版址在线| 久久麻豆一区二区| 哺乳挤奶一区二区三区免费看| 亚洲乱码一区二区| 欧美黄网站色视频| 夜夜爽夜夜操| 欧美精品免费视频| 久久精品一区二区三区中文字幕| 久久精品国产精品亚洲红杏| 亚洲欧洲精品在线| 男人天堂新地址| 亚洲一区二区四区| 蜜桃视频在线一区| 国产精品一级伦理| 一本一道波多野毛片中文在线| 国产精品无码无卡无需播放器| 97香蕉久久超级碰碰高清版| 成人精品在线视频观看| 日本三级免费看| 国产精品毛片一区二区在线看舒淇| 亚洲电影有码| 欧美日韩国产美| 精品综合在线| heyzo亚洲| 精品久久久久一区二区国产| 精品久久久久久无码人妻| av无码精品一区二区三区宅噜噜| 天天躁日日躁成人字幕aⅴ| 香蒸焦蕉伊在线| 无码人妻精品一区二区三区9厂| 在线免费av资源| 91久久国产自产拍夜夜嗨| 操人视频欧美| 亚洲 欧美 自拍偷拍| 日韩一区二区高清视频| 2021av网| 国产精品九九久久久久久久| 91久久国产婷婷一区二区| 国产精品美日韩| 一道本无吗一区| 欧美日韩另类在线| 欧美另类交视频| 粉嫩久久99精品久久久久久夜| 粉嫩av免费一区二区三区| 国产精品x8x8一区二区| 国产一区二区三区成人欧美日韩在线观看| 欧美精品一卡两卡| 天天干天天色天天干| 久草资源在线观看| 日韩一区在线看| 五月天中文字幕一区二区| 777奇米888色狠狠俺也去| 色欲人妻综合网| 婷婷综合成人| 校园春色影音先锋| 亚洲人体视频| 欧美日韩一区二区在线| 亚洲欧美久久婷婷爱综合一区天堂| 精品国内亚洲在观看18黄| 一区二区三区四区免费观看| 99久久精品免费观看国产| 国产精品久久久久久久牛牛| 国产精品视频免费一区二区三区| 欧美日韩一区二区三区视频| 国产大片一区二区三区| 人九九综合九九宗合| 成年免费在线观看| 男人添女荫道口图片| 久久91亚洲精品中文字幕奶水| 国产精品国产福利国产秒拍| 欧美日韩精品一区二区三区视频| 色先锋资源久久综合5566| www.国产视频| 在线观看日本一区二区| 传媒在线观看| 国产美女视频一区二区| 东方欧美亚洲色图在线| 国产女无套免费视频| 色狠狠久久aa北条麻妃| 成人午夜大片| 国产精品视频中文字幕| www.国产色| 欧美性淫爽ww久久久久无| 日本少妇一区二区三区| 亚洲国产成人在人网站天堂| 一级中文字幕一区二区| 神马久久桃色视频| 97精品视频在线观看自产线路二| 久久精品国产亚洲av麻豆色欲| 国产精品99一区二区三| 国产在线精品观看| 韩日精品在线| 清纯唯美一区二区三区| 久久先锋资源网| 永久免费看mv网站入口亚洲| 99青草视频在线播放视| 天天好比中文综合网| 色综合久久久久综合一本到桃花网| 丝袜美腿中文字幕| 超碰97网站| 日韩久久视频| 在线观看日本视频| 国产亚洲毛片在线| 国产综合久久久| 一区视频免费观看| 缅甸午夜性猛交xxxx| 91文字幕巨乱亚洲香蕉| 黄色成人免费观看| 91福利免费视频| 欧美性猛交p30| 亚洲人一区二区| 国内伊人久久久久久网站视频| 亚洲女爱视频在线| 亚洲国产免费看| 中文字幕在线中文| 中文成人av在线| 亚洲精品无码久久久久久| 一区二区三区视频在线看| 日韩精品免费电影| 欧美激情网址| 国产精品一区二区免费| 亚洲熟女乱色一区二区三区| 国产精品视频一区二区三区四| 免费看国产黄色片| 一区二区在线观看视频在线| 国产精品丝袜在线| 一区二区三区精品视频在线观看| 九九热精品在线视频| 日本系列第一页| 亚洲精品美女| 日本黄在线观看| 男女爱爱网站| 99热精品国产| 亚洲国产精品成人无久久精品| 国产亚洲精品久久久久久青梅| 亚洲一区二区久久久久久| 国内不卡的一区二区三区中文字幕| 色婷婷av一区二区三区久久| 男人的天堂av网站| 在线碰免费视频在线观看| 国产亚洲精品精品国产亚洲综合| 992在线观看| 9色porny| 国产超碰91| 久久伊人精品一区二区三区| 黄色网址中文字幕| 美女一区二区三区在线观看| 蜜臀久久久久久久| 国产jjizz一区二区三区视频| 国产精品免费大片| 亚洲一区二区国产| 亚洲人成电影在线观看天堂色| 国产欧美第一页| 久久久久99精品成人片三人毛片| 亚洲精品国产精品乱码不99按摩| 美女av在线免费看| 一区二区三区四区不卡| 国产交换配乱淫视频免费| 又黄又湿又爽又免费又色| 亚洲一区二区在线播放相泽| 亚洲欧美国产77777| 影音先锋中文字幕在线观看| 黄色在线小视频| 久久精品国产视频| 青青草精品在线视频| 日韩a级在线观看| 免费成人在线观看av| 国产理论电影在线| 中国成人亚色综合网站| 国产亚洲美女久久| 成人涩涩网站| 亚洲青青久久| 欧美久久一区二区| 日韩一区二区三区三四区视频在线观看| 国产麻花豆剧传媒精品mv在线| 成人激情动漫在线观看| 一本一本久久a久久精品牛牛影视| 国产成人av自拍| 精品人妻av一区二区三区| 日本天堂免费a| 国产精品剧情在线亚洲| xxxxx中文字幕| 在线免费观看黄色av| 石原莉奈在线亚洲二区| 日韩精品电影网| 91av在线不卡| 国内偷拍精品视频| 午夜在线电影亚洲一区| 欧美日韩国产免费一区二区三区| 欧美大片一区二区| 国产一级片91| 午夜不卡视频| 欧美成a人片免费观看久久五月天| 一个人看的www免费观看视频| 国产91综合网| 欧美成人三级在线视频| 国产日韩欧美一区| 97精品伊人久久久大香线蕉| 乱亲女秽乱长久久久| 韩日欧美一区二区| 一区二区三区四区免费视频| 蜜桃传媒在线| av电影免费看| 美女露隐私免费网站| 亚洲素人一区二区| 91亚洲国产成人精品一区二三| 日韩毛片在线观看| 91sao在线观看国产| 国产一区二区三区精品视频| 日本黄色成人| 可以免费在线观看的av| 国产一区二区三区免费在线| 91xxxxx| 粉嫩蜜臀av国产精品网站| av福利精品|