久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

HTML5本地存儲(chǔ)之Web Storage篇

Web Storage是HTML5引入的一個(gè)非常重要的功能,可以在客戶(hù)端本地存儲(chǔ)數(shù)據(jù),類(lèi)似HTML4的cookie,但可實(shí)現(xiàn)功能要比cookie強(qiáng)大的多,cookie大小被限制在4KB,Web Storage官方建議為每個(gè)網(wǎng)站5MB。 .

Web Storage是HTML5引入的一個(gè)非常重要的功能,可以在客戶(hù)端本地存儲(chǔ)數(shù)據(jù),類(lèi)似HTML4的cookie,但可實(shí)現(xiàn)功能要比cookie強(qiáng)大的多,cookie大小被限制在4KB,Web Storage官方建議為每個(gè)網(wǎng)站5MB。


Web Storage又分為兩種:

  • sessionStorage
  • localStorage


從字面意思就可以很清楚的看出來(lái),sessionStorage將數(shù)據(jù)保存在session中,瀏覽器關(guān)閉也就沒(méi)了;而localStorage則一直將數(shù)據(jù)保存在客戶(hù)端本地;


不管是sessionStorage,還是localStorage,可使用的API都相同,常用的有如下幾個(gè)(以localStorage為例):

  • 保存數(shù)據(jù):localStorage.setItem(key,value);
  • 讀取數(shù)據(jù):localStorage.getItem(key);
  • 刪除單個(gè)數(shù)據(jù):localStorage.removeItem(key);
  • 刪除所有數(shù)據(jù):localStorage.clear();
  • 得到某個(gè)索引的key:localStorage.key(index);


如上,key和value都必須為字符串,換言之,web Storage的API只能操作字符串。


接下來(lái),我們通過(guò)Web Storage開(kāi)發(fā)一個(gè)簡(jiǎn)單的通訊錄小程序,以演示相關(guān)API的使用方法;我們要實(shí)現(xiàn)如下功能:


  1. 錄入聯(lián)系人,聯(lián)系人有姓名、手機(jī)號(hào)碼2個(gè)字段,以手機(jī)號(hào)作為key存入localStorage;
  2. 根據(jù)手機(jī)號(hào)碼,查找機(jī)主;
  3. 列出當(dāng)前已保存的所有聯(lián)系人信息;


首先,準(zhǔn)備一個(gè)簡(jiǎn)單的HTML頁(yè)面,如下:


[html] 
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <head>  
  4.     <meta charset="utf-8"/>  
  5.     <title>HTML5本地存儲(chǔ)之Web Storage篇</title>  
  6. </head>  
  7. <body>  
  8.     <div style="border: 2px dashed #ccc;width:320px;text-align:center;">     
  9.         <label for="user_name">姓名:</label>  
  10.         <input type="text" id="user_name" name="user_name" class="text"/>  
  11.         <br/>  
  12.         <label for="mobilephone">手機(jī):</label>  
  13.         <input type="text" id="mobilephone" name="mobilephone"/>  
  14.         <br/>  
  15.         <input type="button" onclick="save()" value="新增記錄"/>  
  16.         <hr/>  
  17.         <label for="search_phone">輸入手機(jī)號(hào):</label>  
  18.         <input type="text" id="search_phone" name="search_phone"/>  
  19.         <input type="button" onclick="find()" value="查找機(jī)主"/>  
  20.         <p id="find_result"><br/></p>  
  21.     </div>  
  22.     <br/>  
  23.     <div id="list">  
  24.     </div>  
  25. </body>  
  26. </html>  

界面展現(xiàn)如下:


要實(shí)現(xiàn)聯(lián)系人的保存,只需要簡(jiǎn)單實(shí)現(xiàn)如下JS方法即可:

[javascript] 
  1. //保存數(shù)據(jù)   
  2. function save(){  
  3.     var mobilephone = document.getElementById("mobilephone").value;  
  4.     var user_name = document.getElementById("user_name").value;  
  5.     localStorage.setItem(mobilephone,user_name);  
  6. }  

要實(shí)現(xiàn)查找機(jī)主,則實(shí)現(xiàn)如下JS方法:

[javascript] 
  1. //查找數(shù)據(jù)   
  2. function find(){  
  3.     var search_phone = document.getElementById("search_phone").value;  
  4.     var name = localStorage.getItem(search_phone);  
  5.     var find_result = document.getElementById("find_result");  
  6.     find_result.innerHTML = search_phone + "的機(jī)主是:" + name;  
  7. }  



要展現(xiàn)所有已保存的聯(lián)系人信息,則需要使用localStorage.key(index)方法,如下:

[javascript] 
  1. //將所有存儲(chǔ)在localStorage中的對(duì)象提取出來(lái),并展現(xiàn)到界面上   
  2. function loadAll(){  
  3.     var list = document.getElementById("list");  
  4.     if(localStorage.length>0){  
  5.         var result = "<table border='1'>";  
  6.         result += "<tr><td>姓名</td><td>手機(jī)號(hào)碼</td></tr>";  
  7.         for(var i=0;i<localStorage.length;i++){  
  8.             var mobilephone = localStorage.key(i);  
  9.             var name = localStorage.getItem(mobilephone);  
  10.             result += "<tr><td>"+name+"</td><td>"+mobilephone+"</td></tr>";  
  11.         }  
  12.         result += "</table>";  
  13.         list.innerHTML = result;  
  14.     }else{  
  15.         list.innerHTML = "目前數(shù)據(jù)為空,趕緊開(kāi)始加入聯(lián)系人吧";  
  16.     }  
  17. }  

效果如下:


     問(wèn)題:如上的演示,都只有2個(gè)字段,姓名和手機(jī)號(hào)碼,如果要存入更為豐富的聯(lián)系人信息,比如公司名稱(chēng)、家庭地址等,如何實(shí)現(xiàn)呢?Web Storage不是只能處理字符串嗎?此時(shí),可以利用JSON的stringify()方法,將復(fù)雜對(duì)象轉(zhuǎn)變成字符串,存入Web Storage中;當(dāng)從Web Storage中讀取時(shí),可以通過(guò)JSON的parse()方法再轉(zhuǎn)換成JSON對(duì)象;


如下簡(jiǎn)單演示增加了公司屬性的聯(lián)系人保存JS代碼:

[javascript] 
  1. //保存數(shù)據(jù)   
  2. function save(){  
  3.     var contact = new Object;  
  4.     contact.user_name = document.getElementById("user_name").value;  
  5.     contact.mobilephone = document.getElementById("mobilephone").value;  
  6.     contact.company = document.getElementById("company").value;  
  7.     var str = JSON.stringify(contact);  
  8.     localStorage.setItem(contact.mobilephone,str);  
  9.     loadAll();  
  10. }  
  11. //將所有存儲(chǔ)在localStorage中的對(duì)象提取出來(lái),并展現(xiàn)到界面上   
  12. function loadAll(){  
  13.     var list = document.getElementById("list");  
  14.     if(localStorage.length>0){  
  15.         var result = "<table border='1'>";  
  16.         result += "<tr><td>姓名</td><td>手機(jī)</td><td>公司</td></tr>";  
  17.         for(var i=0;i<localStorage.length;i++){  
  18.             var mobilephone = localStorage.key(i);  
  19.             var str = localStorage.getItem(mobilephone);  
  20.             var contact = JSON.parse(str);  
  21.             result += "<tr><td>"+contact.user_name+"</td><td>"+contact.mobilephone+"</td><td>"+contact.company+"</td></tr>";  
  22.         }  
  23.         result += "</table>";  
  24.         list.innerHTML = result;  
  25.     }else{  
  26.         list.innerHTML = "目前數(shù)據(jù)為空,趕緊開(kāi)始加入聯(lián)系人吧";  
  27.     }  
  28. }  

效果如下:


【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了HTML5本地存儲(chǔ)和本地?cái)?shù)據(jù)庫(kù)實(shí)例詳解,需要的朋友可以參考下
IndexedDB 是一種低級(jí)API,用于客戶(hù)端存儲(chǔ)大量結(jié)構(gòu)化數(shù)據(jù)(包括, 文件/ blobs)。下面通過(guò)本文重點(diǎn)給大家介紹HTML5本地存儲(chǔ)之IndexedDB的相關(guān)知識(shí),感興趣的朋友一起看看吧
由于實(shí)際運(yùn)行環(huán)境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會(huì)達(dá)到,所以這部分不是開(kāi)發(fā)者能夠決定的,開(kāi)發(fā)者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個(gè)自定義的視頻播放器,需要用到HTML5提供的video標(biāo)簽、以及HTML5提供的對(duì)JavascriptAPI的擴(kuò)展。,HTML5中國(guó),中國(guó)最大的HTML5中文門(mén)戶(hù)。
隨著 Hybrid 應(yīng)用的豐富,HTML5 工程師們已經(jīng)不滿(mǎn)足于把桌面端體驗(yàn)簡(jiǎn)單移植到移動(dòng)端,他們覬覦移動(dòng)原生應(yīng)用人性化的操作體驗(yàn),特別是原生應(yīng)用與生俱來(lái)的豐富的手勢(shì)系統(tǒng)。HTML5 沒(méi)有提
你想要在自己網(wǎng)站上分享一個(gè)產(chǎn)品,或者是一個(gè)作品集,又或者僅僅只是一個(gè)靈感。在你發(fā)布到網(wǎng)上之前,你想讓它看起來(lái)有吸引力,專(zhuān)業(yè),或者至少得看起來(lái)像那么回事。那么你接下
主站蜘蛛池模板: 日韩精品一区二区在线 | 午夜精品影院 | 精品国产一二三区 | 91视频亚洲 | 国产精品视频一区二区三区 | 久热久草| 欧美天堂| 国产一区二区三区久久 | 成人激情在线观看 | 在线一区视频 | 欧美色综合天天久久综合精品 | 色妞综合网 | a在线观看 | 日韩视频一区 | 国产黄a三级三级看三级 | 午夜国产一区 | 日韩黄色免费视频 | 国 产 黄 色 大 片 | 日韩综合在线观看 | 亚洲综合视频在线 | 红桃视频成人 | 国产永久免费 | 欧美综合网 | 91麻豆精品一区二区三区 | 国产黄色免费网站 | 欧美一级特黄视频 | 二区三区在线观看 | 欧美另类视频 | 黄色一及片 | 国产成人精品免费视频 | 亚洲精品在线视频 | 久久精品久久久久 | 波多野结衣乳巨码无在线观看 | 69精品视频 | 久久性色 | 国产午夜免费视频 | 亚洲精品一区二三区 | 黄色大片在线 | 麻豆chinese新婚xxx | 深夜免费福利 | 在线观看中文字幕 |