Html5 web本地存储实例详解

2020-04-21 07:52:22易采站长站整理

</body>  
</html>  

写完页面的话,展示效果差不多就是如下图:

要实现联系人的保存,只需要简单实现如下JS方法即可:

XML/HTML Code复制内容到剪贴板

functionsave(){   
varmobilephone=document.getElementById("mobilephone").value;   
varuser_name=document.getElementById("user_name").value;   
localStorage.setItem(mobilephone,user_name);   
} //用于保存数据  

要实现查找机主,则实现如下JS方法:

XML/HTML Code复制内容到剪贴板

//查找数据   
functionfind(){   
varsearch_phone=document.getElementById("search_phone").value;   
varname=localStorage.getItem(search_phone);   
varfind_result=document.getElementById("find_result");   
find_result.innerHTML=search_phone+"的机主是:"+name;   
}  

要展现所有已保存的联系人信息,则需要使用localStorage.key(index)方法,如下:

XML/HTML Code复制内容到剪贴板

//将所有存储在localStorage中的对象提取出来,并展现到界面上   
functionloadAll(){   
varlist=document.getElementById("list");   
if(localStorage.length>0){   
varresult="<tableborder=’1′>";   
result+="<tr><td>姓名</td><td>手机号码</td></tr>";   
for(vari=0;i<localStorage.length;i++){   
varmobilephone=localStorage.key(i);   
varname=localStorage.getItem(mobilephone);   
result+="<tr><td>"+name+"</td><td>"+mobilephone+"</td></tr>";   
}   
result+="</table>";   
list.innerHTML=result;   
}else{   
list.innerHTML="目前数据为空,赶紧开始加入联系人吧";   
}   
}  

效果如下:

问题:如上的演示,都只有2个字段,姓名和手机号码,如果要存入更为丰富的联系人信息,比如公司名称、家庭地址等,如何实现呢?Web Storage不是只能处理字符串吗?此时,可以利用JSON的stringify()方法,将复杂对象转变成字符串,存入Web Storage中;当从Web Storage中读取时,可以通过JSON的parse()方法再转换成JSON对象;