HTML5 Web Storage代码

体验了一下HTML5

在HTML5中,除了Canvas元素之外,另一个新增的非常 重要的功能就是可以在客户端本地保存数据的Web Storage功能,我们知道,在HTML4中可以使用Cookies在客户端保存诸如用户名等等简单的用户信息,但是长期的实际使用下来,人发现用 Cookie储存永久数据存在以下问题:

大小:cookies的大小被限制在4K。
带宽:cookies是随HTTP事务一起被发送的,因此会浪费一部分发送cookie时使用的带宽。
复杂性:要正确地操纵cookie是很困难的。

在这种情况下,在HTML5中重新提供了一种在客户端本地保存数据的功能,它就是Web Storage功能。

Web Storage 分两种:sessionStorage & localStorage

sessionStorage 随着浏览器闭关而清除

localStorage 永久保存

看例子:

 

Html代码   收藏代码
  1. <!DOCTYPE HTML>  
  2. <html lang="en-US">  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title>Web Storage</title>  
  6. <style type="text/css">  
  7. *{font-family:Arial;}  
  8. .wrap{width:500px; margin:auto}  
  9. label{display:block; margin:10px}  
  10. table td,table th{padding:5px;}  
  11.   
  12. .showData{width:300px}  
  13. .title{border:1px solid #CCC; border-bottom:0; background:#DDD;}  
  14. .contentList{border:1px solid #CCC; border-top:none}  
  15.   
  16. .tip{height:30px; line-height:30px;}  
  17. .name,.tel,.age{line-height:30px; height:30px; display:inline-block; *display:inline; *zoom:1;  text-indent:5px;}  
  18. .name{width:30%;}  
  19. .tel{width:40%;}  
  20. .age{width:30%}  
  21.   
  22. </style>  
  23. <script type="text/javascript" src="js/public.js"></script>  
  24. <script type="text/javascript">  
  25. function $(id) {  
  26.     return document.getElementById(id);  
  27. }  
  28. function tip(str, t, bb, c) {  
  29.   
  30.     var b = bb || true;  
  31.     var ttime = t || 2000;  
  32.     var tip = $('tip');  
  33.     tip.setAttribute("class", '');  
  34.     tip.style.display = 'block';  
  35.     if (c) {  
  36.         tip.className = c;  
  37.     }  
  38.   
  39.     tip.innerHTML = str;  
  40.     if (b) {  
  41.         setTimeout(function () {  
  42.             tip.className = '';  
  43.             tip.style.display = 'none';  
  44.         }, time);  
  45.     }  
  46. }  
  47. //存储数据  
  48. function saveStoage() {  
  49.     var datas = {};  
  50.     datas.name = $("name").value;  
  51.     datas.tel = $("tel").value;  
  52.     datas.age = $("age").value;  
  53.     if (!datas.name || !datas.tel || !datas.age) {  
  54.         tip("内容不能为空!");  
  55.         return;  
  56.     }  
  57.     var dataStr = JSON.stringify(datas);  
  58.     localStorage.setItem(datas.name, dataStr);  
  59.     showData();  
  60.     tip("数据已经保存");  
  61. }  
  62. //显示数据  
  63. function showData() {  
  64.     var tab = $("showData");  
  65.     var str = '<div class="title"><span class="name">姓名</span><span class="tel">电话</span><span class="age">年龄</span></div>';  
  66.     for (var i = 0; i < localStorage.length; i++) {  
  67.         var key = localStorage.key(i);  
  68.         var data = JSON.parse(localStorage.getItem(key));  
  69.         str += '<div class="contentList"><span class="name">' + key + '</span><span class="tel">' + data.tel + '</span><span class="age">' + data.age + '</span></div>';  
  70.     }  
  71.     tab.innerHTML = str;  
  72.     $("num").innerHTML = '共有' + localStorage.length + '个联系人';  
  73. }  
  74. //清除所有数据  
  75. function clearStoage() {  
  76.     if (confirm("确定要清除所有数据吗?")) {  
  77.         localStorage.clear();  
  78.         showData();  
  79.         tip("数据消除成功!");  
  80.     }  
  81. }  
  82.   
  83. window.addEventListener("load", function () {  
  84.     if (!localStorage) {  
  85.         return;  
  86.     }  
  87.     showData();  
  88.     $('add').addEventListener('click', saveStoage);  
  89.     $("clear").addEventListener('click', clearStoage);  
  90.   
  91. });  
  92. </script>  
  93. </head>  
  94. <body>  
  95. <div id="wrap" class="wrap">  
  96.     <h1>WebStorage</h1>  
  97.     <p id="msg"></p>      
  98.     <label for="name">名称:<input type="text" name="name" id="name" value="" /></label>  
  99.     <label for="tel">电话:<input type="text" name="tel" id="tel" /></label>  
  100.     <label for="age">年龄:<input type="text" name="age" id="age" /></label>  
  101.     <input type="button" value="添加联系人" id="add"/>  
  102.     <input type="button" value="清除数据"  id="clear" />      
  103.     <div id="tip" class="tip"></div>  
  104.     <div id="num"></div>  
  105.     <div id="showData" class="showData"></div>  
  106. </div>  
  107. </body>  
  108. </html> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值