Html5 web本地存储实例详解

2019-01-28 14:17:28于海丽

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

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

XML/HTML Code复制内容到剪贴板
  1. functionsave(){    varmobilephone=document.getElementById("mobilephone").value;   
  2. varuser_name=document.getElementById("user_name").value;    localStorage.setItem(mobilephone,user_name);   
  3. } //用于保存数据  

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

XML/HTML Code复制内容到剪贴板
  1. //查找数据    functionfind(){   
  2. varsearch_phone=document.getElementById("search_phone").value;    varname=localStorage.getItem(search_phone);   
  3. varfind_result=document.getElementById("find_result");    find_result.innerHTML=search_phone+"的机主是:"+name;   
  4. }  

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

XML/HTML Code复制内容到剪贴板
  1. //将所有存储在localStorage中的对象提取出来,并展现到界面上    functionloadAll(){   
  2. varlist=document.getElementById("list");    if(localStorage.length>0){   
  3. varresult="<tableborder='1'>";    result+="<tr><td>姓名</td><td>手机号码</td></tr>";   
  4. for(vari=0;i<localStorage.length;i++){    varmobilephone=localStorage.key(i);   
  5. varname=localStorage.getItem(mobilephone);    result+="<tr><td>"+name+"</td><td>"+mobilephone+"</td></tr>";   
  6. }    result+="</table>";   
  7. list.innerHTML=result;    }else{   
  8. list.innerHTML="目前数据为空,赶紧开始加入联系人吧";    }   
  9. }  

效果如下:

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