本文小編為大家詳細(xì)介紹“HTML5的Web Storage怎么應(yīng)用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“HTML5的Web Storage怎么應(yīng)用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括高臺(tái)網(wǎng)站建設(shè)、高臺(tái)網(wǎng)站制作、高臺(tái)網(wǎng)頁(yè)制作以及高臺(tái)網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,高臺(tái)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到高臺(tái)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
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)如下功能:
錄入聯(lián)系人,聯(lián)系人有姓名、手機(jī)號(hào)碼2個(gè)字段,以手機(jī)號(hào)作為key存入localStorage;
根據(jù)手機(jī)號(hào)碼,查找機(jī)主;
列出當(dāng)前已保存的所有聯(lián)系人信息;
首先,準(zhǔn)備一個(gè)簡(jiǎn)單的HTML頁(yè)面,如下:
復(fù)制代碼 代碼如下:
界面展現(xiàn)如下:
要實(shí)現(xiàn)聯(lián)系人的保存,只需要簡(jiǎn)單實(shí)現(xiàn)如下JS方法即可:
復(fù)制代碼 代碼如下:
//保存數(shù)據(jù)
function save(){
var mobilephone = document.getElementById("mobilephone").value;
var user_name = document.getElementById("user_name").value;
localStorage.setItem(mobilephone,user_name);
}
要實(shí)現(xiàn)查找機(jī)主,則實(shí)現(xiàn)如下JS方法:
復(fù)制代碼 代碼如下:
//查找數(shù)據(jù)
function find(){
var search_phone = document.getElementById("search_phone").value;
var name = localStorage.getItem(search_phone);
var find_result = document.getElementById("find_result");
find_result.innerHTML = search_phone + "的機(jī)主是:" + name;
}
要展現(xiàn)所有已保存的聯(lián)系人信息,則需要使用localStorage.key(index)方法,如下:
復(fù)制代碼 代碼如下:
//將所有存儲(chǔ)在localStorage中的對(duì)象提取出來(lái),并展現(xiàn)到界面上
function loadAll(){
var list = document.getElementById("list");
if(localStorage.length>0){
var result = "
姓名 | 手機(jī)號(hào)碼 |
"+name+" | "+mobilephone+" |
list.innerHTML = result;
}else{
list.innerHTML = "目前數(shù)據(jù)為空,趕緊開(kāi)始加入聯(lián)系人吧";
}
}
效果如下:
問(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代碼:
復(fù)制代碼 代碼如下:
//保存數(shù)據(jù)
function save(){
var contact = new Object;
contact.user_name = document.getElementById("user_name").value;
contact.mobilephone = document.getElementById("mobilephone").value;
contact.company = document.getElementById("company").value;
var str = JSON.stringify(contact);
localStorage.setItem(contact.mobilephone,str);
loadAll();
}
//將所有存儲(chǔ)在localStorage中的對(duì)象提取出來(lái),并展現(xiàn)到界面上
function loadAll(){
var list = document.getElementById("list");
if(localStorage.length>0){
var result = "
姓名 | 手機(jī) | 公司 |
"+contact.user_name+" | "+contact.mobilephone+" | "+contact.company+" |
list.innerHTML = result;
}else{
list.innerHTML = "目前數(shù)據(jù)為空,趕緊開(kāi)始加入聯(lián)系人吧";
}
}
讀到這里,這篇“HTML5的Web Storage怎么應(yīng)用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。