婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 解析HTML5的存儲(chǔ)功能和web SQL的相關(guān)操作方法

解析HTML5的存儲(chǔ)功能和web SQL的相關(guān)操作方法

熱門標(biāo)簽:南通數(shù)據(jù)外呼系統(tǒng)推廣 外呼線穩(wěn)定線路 pageadm實(shí)現(xiàn)地圖標(biāo)注 外呼系統(tǒng)電話怎么投訴 邢臺(tái)縣地圖標(biāo)注app 地圖標(biāo)注位置能賺錢嗎 申請(qǐng)400電話流程簡(jiǎn)介 阜陽(yáng)企業(yè)外呼系統(tǒng) 呼和浩特外呼電銷系統(tǒng)排名

HTML5 引入了兩種機(jī)制,類似于 HTTP 的會(huì)話 cookies,用于在客戶端存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)以及克服以下缺點(diǎn)。

每個(gè) HTTP 請(qǐng)求中都包含 Cookies,從而導(dǎo)致傳輸相同的數(shù)據(jù)減緩我們的 Web 應(yīng)用程序。

每個(gè) HTTP 請(qǐng)求中都包含 Cookies,從而導(dǎo)致發(fā)送未加密的數(shù)據(jù)到互聯(lián)網(wǎng)上。

Cookies 只能存儲(chǔ)有限的 4KB 數(shù)據(jù),不足以存儲(chǔ)所需的數(shù)據(jù)。
這兩種存儲(chǔ)方式是 session storage 和 local storage,它們將用于處理不同的情況。

幾乎所有最新版的瀏覽器都支持 HTML5 存儲(chǔ),包括 IE 瀏覽器。

會(huì)話存儲(chǔ)
_會(huì)話存儲(chǔ)_被設(shè)計(jì)用于用戶執(zhí)行單一事務(wù)的場(chǎng)景,但是同時(shí)可以在不同的窗口中執(zhí)行多個(gè)事務(wù)。

示例

比如,如果用戶在同一網(wǎng)站的兩個(gè)不同的窗口中購(gòu)買機(jī)票。如果該網(wǎng)站使用 cookie 跟蹤用戶購(gòu)買的機(jī)票,當(dāng)用戶在窗口中點(diǎn)擊頁(yè)面時(shí),從一個(gè)窗口到另一個(gè)時(shí)當(dāng)前已經(jīng)購(gòu)買的機(jī)票會(huì)“泄漏”,這可能導(dǎo)致用戶購(gòu)買同一航班的兩張機(jī)票而沒(méi)有注意到。

HTML5 引入了 sessionStorage 屬性,這個(gè)網(wǎng)站可以用來(lái)把數(shù)據(jù)添加到會(huì)話存儲(chǔ)中,用戶仍然可以在打開的持有該會(huì)話的窗口中訪問(wèn)同一站點(diǎn)的任意頁(yè)面,當(dāng)關(guān)閉窗口時(shí),會(huì)話也會(huì)丟失。

下面的代碼將會(huì)設(shè)置一個(gè)會(huì)話變量,然后訪問(wèn)該變量:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <body>  
  4.   
  5.   <script type="text/javascript">  
  6.     if( sessionStorage.hits ){   
  7.        sessionStorage.hits = Number(sessionStorage.hits) +1;   
  8.     }else{   
  9.        sessionStorage.hits = 1;   
  10.     }   
  11.     document.write("Total Hits :" + sessionStorage.hits );   
  12.   </script>  
  13.   <p>Refresh the page to increase number of hits.</p>  
  14.   <p>Close the window and open it again and check the result.</p>  
  15.   
  16. </body>  
  17. </html>  

本地存儲(chǔ)
_本地存儲(chǔ)_被設(shè)計(jì)用于跨多個(gè)窗口進(jìn)行存儲(chǔ),并持續(xù)處在當(dāng)前會(huì)話上。尤其是,出于性能的原因 Web 應(yīng)用程序可能希望在客戶端存儲(chǔ)百萬(wàn)字節(jié)的用戶數(shù)據(jù),比如用戶撰寫的整個(gè)文檔或者是用戶的郵箱。

Cookies 并不能很好的處理這種情況,因?yàn)槊總€(gè)請(qǐng)求都會(huì)傳輸。

示例

HTML5 引入了 localStorage 屬性,可以用于訪問(wèn)頁(yè)面的本地存儲(chǔ)區(qū)域而沒(méi)有時(shí)間限制,無(wú)論何時(shí)我們使用這個(gè)頁(yè)面的時(shí)候本地存儲(chǔ)都是可用的。

下面的代碼設(shè)置了一個(gè)本地存儲(chǔ)變量,每次訪問(wèn)這個(gè)頁(yè)面時(shí)都可以訪問(wèn)該變量,甚至是下次打開窗口時(shí):

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <body>  
  4.   
  5.   <script type="text/javascript">  
  6.     if( localStorage.hits ){   
  7.        localStorage.hits = Number(localStorage.hits) +1;   
  8.     }else{   
  9.        localStorage.hits = 1;   
  10.     }   
  11.     document.write("Total Hits :" + localStorage.hits );   
  12.   </script>  
  13.   <p>Refresh the page to increase number of hits.</p>  
  14.   <p>Close the window and open it again and check the result.</p>  
  15.   
  16. </body>  
  17. </html>  

便于學(xué)習(xí)上述概念 - 請(qǐng)進(jìn)行在線練習(xí)。

刪除 Web 存儲(chǔ)
在本地機(jī)器上存儲(chǔ)敏感數(shù)據(jù)可能是危險(xiǎn)的,可能會(huì)留下安全隱患。

_會(huì)話存儲(chǔ)數(shù)據(jù)_在會(huì)話終止之后將由瀏覽器立即刪除。

要清除本地存儲(chǔ)設(shè)置需要調(diào)用 localStorage.remove('key');這個(gè) 'key' 就是我們想要移除的值對(duì)應(yīng)的鍵。如果想要清除所有設(shè)置,需要調(diào)用 localStorage.clear() 方法。

下面的代碼會(huì)完全清除本地存儲(chǔ):

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <body>  
  4.   
  5.   <script type="text/javascript">  
  6.     localStorage.clear();   
  7.   
  8.     // Reset number of hits.   
  9.     if( localStorage.hits ){   
  10.        localStorage.hits = Number(localStorage.hits) +1;   
  11.     }else{   
  12.        localStorage.hits = 1;   
  13.     }   
  14.     document.write("Total Hits :" + localStorage.hits );   
  15.   </script>  
  16.   <p>Refreshing the page would not to increase hit counter.</p>  
  17.   <p>Close the window and open it again and check the result.</p>  
  18.   
  19. </body>  
  20. </html>  

Web SQL 數(shù)據(jù)庫(kù)
Web SQL 數(shù)據(jù)庫(kù) API 并不是 HTML5 規(guī)范的一部分,但是它是一個(gè)獨(dú)立的規(guī)范,引入了一組使用 SQL 操作客戶端數(shù)據(jù)庫(kù)的 APIs。
核心方法
下面是規(guī)范中定義的三個(gè)核心方法。也會(huì)涵蓋在本教程中:

openDatabase:這個(gè)方法使用現(xiàn)有的數(shù)據(jù)庫(kù)或者新建的數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)對(duì)象。
transaction:這個(gè)方法讓我們能夠控制一個(gè)事務(wù),以及基于這種情況執(zhí)行提交或者回滾。
executeSql:這個(gè)方法用于執(zhí)行實(shí)際的 SQL 查詢。
開啟數(shù)據(jù)庫(kù)
如果數(shù)據(jù)庫(kù)已經(jīng)存在,openDatabase 方法負(fù)責(zé)開啟數(shù)據(jù)庫(kù),如果不存在,這個(gè)方法會(huì)創(chuàng)建它。

使用下面的代碼可以創(chuàng)建并開啟一個(gè)數(shù)據(jù)庫(kù):

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. var db = openDatabase('mydb''1.0''Test DB', 2 * 1024 * 1024);  

上面的方法接受下列五個(gè)參數(shù):

數(shù)據(jù)庫(kù)名稱
版本號(hào)
描述文本
數(shù)據(jù)庫(kù)大小
創(chuàng)建回調(diào)
最后也是第五個(gè)參數(shù),創(chuàng)建回調(diào)會(huì)在創(chuàng)建數(shù)據(jù)庫(kù)后被調(diào)用。然而,即使沒(méi)有這個(gè)特性(功能),運(yùn)行時(shí)仍然會(huì)創(chuàng)建數(shù)據(jù)庫(kù)以及正確的版本。

執(zhí)行查詢
執(zhí)行查詢需要使用 database.transaction() 函數(shù)。這個(gè)函數(shù)需要一個(gè)參數(shù),它是一個(gè)負(fù)責(zé)實(shí)際執(zhí)行查詢的函數(shù),如下所示:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. var db = openDatabase('mydb''1.0''Test DB', 2 * 1024 * 1024);   
  2. db.transaction(function (tx) {     
  3.    tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');   
  4. });  

上面的查詢語(yǔ)句會(huì)在 'mydb' 數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)叫做的 LOGS 的表。

插入操作
為了在表中創(chuàng)建條目,我們?cè)谏厦娴睦又屑尤牒?jiǎn)單的 SQL 查詢,如下所示:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. var db = openDatabase('mydb''1.0''Test DB', 2 * 1024 * 1024);   
  2. db.transaction(function (tx) {   
  3.    tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');   
  4.    tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');   
  5.    tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');   
  6. });  

創(chuàng)建條目時(shí)還可以傳遞如下所示的動(dòng)態(tài)值:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. var db = openDatabase('mydb''1.0''Test DB', 2 * 1024 * 1024);   
  2. db.transaction(function (tx) {     
  3.   tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');   
  4.   tx.executeSql('INSERT INTO LOGS   
  5.                         (id,log) VALUES (?, ?'), [e_id, e_log];   
  6. });  

這里的 e_id 和 e_log 是外部變量,executeSql 會(huì)映射數(shù)組參數(shù)中的每個(gè)條目給 "?"。

讀取操作
要讀取已經(jīng)存在的記錄,我們可以使用回調(diào)來(lái)捕獲結(jié)果,如下所示:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. var db = openDatabase('mydb''1.0''Test DB', 2 * 1024 * 1024);   
  2. db.transaction(function (tx) {   
  3.    tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');   
  4.    tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');   
  5.    tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');   
  6. });   
  7. db.transaction(function (tx) {   
  8.    tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {   
  9.    var len = results.rows.length, i;   
  10.    msg = "<p>Found rows: " + len + "</p>";   
  11.    document.querySelector('#status').innerHTML +=  msg;   
  12.    for (i = 0; i < len; i++){   
  13.       alert(results.rows.item(i).log );   
  14.    }   
  15.  }, null);   
  16. });  

最終示例
最后,然我們把這個(gè)例子放到如下所示的完整 HTML5 文檔中,然后嘗試在 Safari 瀏覽器中運(yùn)行它:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE HTML>   
  2. <html>   
  3. <head>   
  4. <script type="text/javascript">   
  5. var db = openDatabase('mydb''1.0''Test DB', 2 * 1024 * 1024);   
  6. var msg;   
  7. db.transaction(function (tx) {   
  8.   tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');   
  9.   tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');   
  10.   tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');   
  11.   msg = '<p>Log message created and row inserted.</p>';   
  12.   document.querySelector('#status').innerHTML =  msg;   
  13. });   
  14.   
  15. db.transaction(function (tx) {   
  16.   tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {   
  17.    var len = results.rows.length, i;   
  18.    msg = "<p>Found rows: " + len + "</p>";   
  19.    document.querySelector('#status').innerHTML +=  msg;   
  20.    for (i = 0; i < len; i++){   
  21.      msg = "<p><b>" + results.rows.item(i).log + "</b></p>";   
  22.      document.querySelector('#status').innerHTML +=  msg;   
  23.    }   
  24.  }, null);   
  25. });   
  26. </script>   
  27. </head>   
  28. <body>   
  29. <div id="status" name="status">Status Message</div>   
  30. </body>   
  31. </html>  

在瀏覽器中這會(huì)生成如下所示結(jié)果:

復(fù)制代碼
代碼如下:

Log message created and row inserted.</p> <p>Found rows: 2</p> <p>foobar</p> <p>logmsg

標(biāo)簽:內(nèi)蒙古 辛集 蚌埠 黃山 楊凌 撫順 德州 鶴崗

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解析HTML5的存儲(chǔ)功能和web SQL的相關(guān)操作方法》,本文關(guān)鍵詞  解析,HTML5,的,存儲(chǔ),功能和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解析HTML5的存儲(chǔ)功能和web SQL的相關(guān)操作方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于解析HTML5的存儲(chǔ)功能和web SQL的相關(guān)操作方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区欧美久久| 亚洲欧美区自拍先锋| 最新欧美精品一区二区三区| 免费在线观看一区| 欧美大片在线观看一区二区| 午夜精品影院在线观看| 欧美日韩在线三级| 亚洲国产综合视频在线观看| 91国产丝袜在线播放| 日韩一区精品视频| 久久久久久综合| www.视频一区| 一级特黄大欧美久久久| 欧美精品色一区二区三区| 日本中文在线一区| 中文字幕不卡三区| 欧美精品一卡二卡| 国产一区二区三区免费观看| 亚洲女与黑人做爰| 在线观看成人免费视频| 性欧美大战久久久久久久久| 欧美精品久久久久久久多人混战| 狠狠色丁香九九婷婷综合五月| 亚洲三级久久久| 久久综合九色综合欧美98| 欧洲精品在线观看| 国产精品资源网站| 蜜臀a∨国产成人精品| 亚洲视频 欧洲视频| 欧美精品一区二区蜜臀亚洲| 日本韩国一区二区三区视频| 韩日欧美一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 在线不卡一区二区| 97se狠狠狠综合亚洲狠狠| 激情六月婷婷久久| 青青国产91久久久久久| 亚洲一区二区免费视频| 国产视频一区在线播放| 日韩欧美一级二级三级久久久| 在线视频一区二区三区| 成人不卡免费av| 国产91在线|亚洲| 国产精品一区免费视频| 久久成人免费网站| 蜜桃视频一区二区三区在线观看| 一区二区三区日韩在线观看| 国产精品国产三级国产普通话99 | 国产精品萝li| 亚洲欧美日本韩国| 污片在线观看一区二区| 免费日韩伦理电影| 久久疯狂做爰流白浆xx| 成人免费视频免费观看| 99视频精品在线| 欧美精品丝袜中出| 精品1区2区在线观看| 亚洲欧洲www| 午夜精品一区在线观看| 久久成人久久鬼色| 不卡的av电影在线观看| 欧美色区777第一页| 91麻豆精品国产| 欧美一区二区三区视频在线| 2014亚洲片线观看视频免费| 久久久蜜桃精品| 午夜电影久久久| 久久精品国产一区二区三| 成人av电影观看| 日韩午夜激情av| 亚洲最大色网站| 不卡电影一区二区三区| 欧美午夜一区二区| 欧美极品美女视频| 亚洲欧美日韩人成在线播放| 日韩不卡一区二区| 91国模大尺度私拍在线视频| 久久你懂得1024| 激情综合一区二区三区| 91官网在线免费观看| 国产精品麻豆久久久| 国产成人免费在线| 久久中文字幕电影| 国产一区二区三区免费播放| 精品日韩av一区二区| 激情综合色播五月| 国产欧美中文在线| 国产乱人伦精品一区二区在线观看| 欧美日韩在线不卡| 日本强好片久久久久久aaa| 欧美一区三区四区| 国产精品白丝av| 成人欧美一区二区三区黑人麻豆| 99久久99久久精品国产片果冻| 国产精品你懂的| 精品视频一区三区九区| 亚洲在线中文字幕| 欧美一区二区三区免费在线看| 激情五月播播久久久精品| 国产精品国产自产拍高清av| 欧美日韩精品免费| 成人综合在线视频| 五月婷婷综合激情| 久久亚洲一区二区三区明星换脸 | 国产成人免费av在线| 一区二区三区四区在线| www久久久久| 欧美理论片在线| 丁香激情综合国产| 亚洲电影视频在线| 日韩美女视频19| www激情久久| 国产成人av一区| 日韩成人av影视| 亚洲午夜三级在线| 欧美国产精品中文字幕| 欧美日产国产精品| 欧美在线视频日韩| 日韩一区二区在线观看视频| 色婷婷国产精品久久包臀| 国产成人在线视频免费播放| 午夜电影网一区| 日韩va欧美va亚洲va久久| 亚洲精品国产第一综合99久久| 国产片一区二区| 国产精品国产自产拍高清av王其 | 精品国产一区二区亚洲人成毛片| 欧美性猛片xxxx免费看久爱| 色悠悠久久综合| 欧美视频日韩视频在线观看| k8久久久一区二区三区 | 99久久精品国产麻豆演员表| 国产精品亚洲一区二区三区妖精 | 久久久99久久精品欧美| 精品毛片乱码1区2区3区| 欧美一区二区在线免费播放| 日韩精品专区在线影院观看| 欧美精品久久一区二区三区| 欧美成人综合网站| 中文字幕高清不卡| 一区二区三区美女| 中文字幕一区日韩精品欧美| 一区二区三区在线视频免费| 亚洲成a人片综合在线| 日韩av一区二| 欧美影院一区二区三区| 91精品麻豆日日躁夜夜躁| 国产午夜精品福利| 一区二区三区中文免费| 久久99国内精品| 一本色道综合亚洲| 欧美xxx久久| 亚洲精品国产品国语在线app| 久久精品国产精品亚洲红杏| 91一区二区三区在线观看| 欧美xxxxx牲另类人与| 亚洲欧美日韩国产手机在线| 国产99久久久久| 久久综合色综合88| 视频一区二区中文字幕| 成人久久久精品乱码一区二区三区| 717成人午夜免费福利电影| 中文字幕亚洲在| 91免费视频网址| 国产精品灌醉下药二区| 国内精品久久久久影院一蜜桃| 欧美在线观看一区| 亚洲欧洲av色图| www.综合网.com| 亚洲女同ⅹxx女同tv| 成人免费毛片a| 国产夜色精品一区二区av| 亚洲精品你懂的| 欧美性生活久久| 国产欧美视频一区二区| 奇米精品一区二区三区四区| 懂色av一区二区三区免费看| 91精品国产一区二区三区香蕉| 欧美高清一级片在线观看| 国产一区二区在线看| 国产91精品露脸国语对白| 91精品国产色综合久久不卡蜜臀 | 欧美视频精品在线观看| 亚洲欧洲日产国码二区| 国产成人欧美日韩在线电影| 精品国产一区二区三区忘忧草| 丝瓜av网站精品一区二区| 色婷婷国产精品久久包臀| 国产精品蜜臀在线观看| 国产成人日日夜夜| 中文字幕精品一区二区精品绿巨人 | 日本一区二区免费在线| 国内久久精品视频| 国产亚洲精品超碰| 91国产福利在线| 国产三级三级三级精品8ⅰ区| 亚洲一二三区在线观看| 91久久一区二区| 亚洲福利一区二区| 一区二区激情视频|