首页 > 代码库 > html5 存储系列之localStorage第一篇
html5 存储系列之localStorage第一篇
获取localStorage对象保存的全部数据信息。通常需要遍历这些数据,在遍历过程中需要访问localStorage对象的以下两个属性
length:表示localStorage对象中保存数据的总量。
key:表示保存数据时的键名项
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>无标题文档</title> 6 <script type="text/javascript" language="jscript" src="js7-6.js"></script> 7 <link href="css7-3.css" rel="stylesheet" type="text/css"> 8 </head> 9 10 <body onLoad="getlocalData();"> 11 12 <ul id="ulMessage"> 13 正在读取数据中.... 14 </ul> 15 <p class="p4"> 16 <textarea id="txtContent" class="inputtxt" cols="37" rows="5"></textarea> 17 <br> 18 <input id="btnAdd" type="button" value="发表" class="inputbtn" onClick="btnAdd_Click();"> 19 </p> 20 </body> 21 </html>
js
1 // JavaScript Document 2 function $$(id){ 3 return document.getElementById(id); 4 } 5 //点击发表按钮时调用 6 function btnAdd_Click(){ 7 //获取文本框中的内容 8 var strContent=$$("txtContent").value; 9 //定义一个日期型对象 10 var strTime=new Date(); 11 //如果不为空,则保存 12 if(strContent.length>0){ 13 var strKey="cnt"+RetRndNum(4); 14 var strVal=strContent+","+strTime.toLocaleTimeString(); 15 localStorage.setItem(strKey,strVal); 16 } 17 //从新加载 18 getlocalData(); 19 //清空原先内容 20 $$("txtContent").value=""; 21 } 22 //获取保存数据并显示在页面中 23 function getlocalData(){ 24 //标题部分 25 var strHTML="<li class=‘li_h‘>"; 26 strHTML+="<span class=‘spn_a‘> 编号</span>"; 27 strHTML+="<span class=‘spn_b‘> 内容</span>"; 28 strHTML+="<span class=‘spn_c‘> 时间</span>"; 29 strHTML+="</li>" 30 //内容部分 31 var strArr=new Array();//定义一个数组 32 33 for(var intI=0;intI<localStorage.length; intI++){ 34 35 //获取key值 36 var strKey=localStorage.key(intI); 37 //过滤键名内容 38 if(strKey.substring(0,3)=="cnt"){ 39 var strVal=localStorage.getItem(strKey); 40 strArr=strVal.split(","); 41 strHTML+="<li class=‘li_c‘>"; 42 strHTML+="<span class=‘spn_a‘>"+strKey+"</span>" 43 strHTML+="<span class=‘spn_b‘>"+strArr[0]+"</span>" 44 strHTML+="<span class=‘spn_c‘>"+strArr[1]+"</span>" 45 strHTML+="</li>"; 46 } 47 } 48 49 $$("ulMessage").innerHTML=strHTML; 50 } 51 //生成指定长度的随机数 52 53 function RetRndNum(n){ 54 var strRnd=""; 55 for(var intI=0;intI<n;intI++){ 56 strRnd+=Math.floor(Math.random()*10); 57 } 58 return strRnd; 59 }
步骤:
1.首先调用自定义函数getLocaldata()根据localStorage的length属性进行遍历localStorage保存的全部数据通过变量“strkey”保存每次遍历的键名
为了只获取点评的数据判读取得键名的前三位字符是否为“cnt”如果是则通过getItem方法取值,保存到变量strval中,
2.因为键是由“,”组成的字符串。所以先通过数组strArr保存切割下来的各项数值,然后通过数组下标将各项获取的内容显示出来
3.点击“发表”按钮调到btnAdd_Click();先获取点评内容存到strContent中
4.为了令保存键名不重复,在生成键名时调用函数"strRndNum()",随机生成一个四位数字
5.为了保存更多信息将setContent与时间结合保存在变量strVal中
最后用setItem将变量“strkey”与“strVal”分别作为键值保存在localStorage对象中。
html5 存储系列之localStorage第一篇
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。