请选择 进入手机版 | 继续访问电脑版

HTML5星空

HTML5星空 首页 HTML5教程 本地存储 查看内容

html5 localStorage本地存储和sessionStorage会话存储的比较

2013-10-12 14:12| 发布者: admin| 查看: 1263| 评论: 0|来自: iteye

摘要: HTML5允许在客户端实现较大规模的数据存储,用户可以使用web存储,也可以使用web sql数据库,这两项新增功能为浏览器成为应用程序开发平台奠定了坚持的数据操作基础。Web存储机制是一中通过字符串形式的key/value对 ...

   HTML5允许在客户端实现较大规模的数据存储,用户可以使用web存储,也可以使用web sql数据库,这两项新增功能为浏览器成为应用程序开发平台奠定了坚持的数据操作基础。

Web存储机制是一中通过字符串形式的key/value对来安全的存储和使用数据的方法,其目标是提供一个更全面的,可以创建交互式Web应用程序的方法。


一、web存储和cookie的对比:

1)首先是容量不同,web存储的存储量更大,更安全,更易于使用,而Cookie的存储量是有限制的。

2)存储的持久性不同,web存储是通过浏览器来永久存储和李大小的数据的方法


二、本地存储和会话存储

在客户端存储数据的类型有两种:

1)localStorage : 本地存储,没有时间限制的数据存储

2)sessionStorage : 会话存储,针对一个会话期的数据存储

 

下面就写一个简单的例子,在客户端持久存储数据

 

Js代码  收藏代码
  1. var strDomain = "127.0.0.1";    //定义当前域  
  2. try{  
  3.     /** 
  4.         *因为较早版本的FireFox没有实现localStorage,但他提供了globalStorage属性用于指定域创建本地存储区域,其中也可以指定这个域为当前域,因此  
  5.         * ,下面这句代码可以用来实现localStorage在各浏览器间的兼容 
  6.       **/  
  7.     var oStorage = window.localStorage ? window.localStorage : window.globalStorage[strDomain]; //h获取存储区域  
  8.     //查看vistorCount是否存在  
  9.     //如果存在就读取并加1,增加一次访问统计  
  10.     //如果不存在就意味着第一次访问,将其初始化为1  
  11.     if(oStorage.visitorCount){  
  12.         oStorage.visitorCount = parseInt(oStorage.visitorCount,10) + 1;  
  13.     } else {  
  14.         oStorage.visitorCount = 1;    
  15.     }  
  16.     document.write("欢迎第" + oStorage.visitorCount + "次访问");  //写出访问统计数据  
  17. catch(err) {  
  18.     alert(err.message ? err.message : err.toString());    
  19. }  
 
 

同时我们使用开发人员工具(我使用的是Chrome浏览器)可以清晰的看到在客户端存储的数据。

 

在会话期存储数据

SessionStorage针对一个Session进行数据存储,当用户关闭浏览器窗口后,数据会被删除。

下面的代码用于创建一个提交表单:

 

Html代码  收藏代码
  1. <body>  
  2.     <form action="anotherPage.jsp" method="get">  
  3.         <input name="myName" id="myName" type="text" onblur="oStorage.myName.value=this.value">  
  4.         <input name="mySubmit" type="submit"/>  
  5.     </form>  
  6.     <script>  
  7.         try{  
  8.             var oField = document.getElementById(myName);  
  9.             oStorage = window.sessionStorage;  
  10.             //查看是否存在myNameValue键  
  11.             if(oStorage.myNameValue){  
  12.                 oField.value = oStorage.myNameValue;  
  13.             }  
  14.         }catch(err){  
  15.             alert(err.message ? err.message : err.toString());  
  16.         }  
  17.     </script>  
  18. </body>  
 


 

结果显示,同样我们使用开发人员工具可以清晰的看到存储状况。



鲜花

握手

雷人

路过

鸡蛋

相关阅读

快讯
发布主题

     京ICP备14042305号

html5star team © 2012-2013 html5星空 Comsenz Inc.

GMT+8, 2017-9-25 08:38 , Processed in 0.072371 second(s), 26 queries .

返回顶部