HTML5之WEB Storage

什么是HTML5 web storage?

使用HTML5,web页面可以使用用户的浏览器本地保存数据。

在以前,通常我们使用cookie来保存用户数据。然而使用web存储更加安全和快速。数据不再包含在每一个服务器请求中,只存在你需要的时候。同时我们也可以保存大量数据,而不影响网站的性能。

数据都保存成key/value形式,一个web页面只可以访问自己的数据。

浏览器支持

iefirefoxchromeoperasafari

IE8+,Firefox,Chrome,Opera和Safari 5都支持这个特性。

注意IE7和更早版本不支持这个特性。

localStorage和sessionStorage

这里有俩个新的用来保存数据的属性:

  • localStorage - 没有过期时间的方式保存数据 
  • sessionStorage - 保存数据到session

在使用web storage之前,检查浏览器是否支持localStorage和sessionStorage:

 
 
  1. if(typeof(Storage)!=="undefined"){
  2. // Yes! localStorage and sessionStorage support!
  3. // Some code.....
  4. }else{
  5. // Sorry! No web storage support..
  6. }

localStorage Object

localStorage对象保存数据没有过期时间的问题。数据在浏览器关闭后不会删除,而且一直有效。

 
 
  1. localStorage.lastname="Smith";
  2. document.getElementById("result").innerHTML="Last name: "
  3. + localStorage.lastname;

在线演示

代码说明:

  • 创建了一个localStorage 键值对,使用key="lastname", value="Smith" 。
  • 得到lastname对应的值,并且赋予id=result的元素

小技巧:键值对会以字符串方式存储。记住在必要的时候将他们转为其他格式

下面的例子计算了一个用户点击按钮的次数。在这段代码中,将会把值转化为数字,这样可以使用加法:

 
 
  1. if (localStorage.clickcount){
  2. localStorage.clickcount=Number(localStorage.clickcount)+1;
  3. }else{
  4. localStorage.clickcount=1;
  5. }
  6. document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s).";

在线演示

sessionStorage对象

sessionStorage对象和localStorage对象类似,除了保存的数据只在当前session中有效。数据将会在用户关闭浏览器窗口时失效。

下面代码在当前的session中计算了用户点击的次数:

 
 
  1. if (sessionStorage.clickcount){
  2. sessionStorage.clickcount=Number(sessionStorage.clickcount)+1;
  3. }else{
  4. sessionStorage.clickcount=1;
  5. }
  6. document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s) in this session.";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值