HTML5本地存储之Web Storage

本文介绍了HTML5中的WebStorage功能,包括sessionStorage和localStorage的区别与使用方法。详细解释了如何通过JSON对象处理复杂数据类型,并提供了实际代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,WebStorage官方建议为每个网站5MB。

Web Storage又分为两种:

       sessionStorage

       localStorage

 

从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了;而localStorage则一直将数据保存在客户端本地;

不管是sessionStorage,还是localStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):

·        保存数据:localStorage.setItem(key,value);

·        读取数据:localStorage.getItem(key);

·        删除单个数据:localStorage.removeItem(key);

·        删除所有数据:localStorage.clear();

·        得到某个索引的key:localStorage.key(index);

如上,key和value都必须为字符串,换言之,web Storage的API只能操作字符串,对于JS中常用的数组或对象却不能直接存储。

 

但我们可以通过JSON对象提供的parse和stringify将其他数据类型转化成字符串,再存储到storage中就可以了。请看下面的代码。

var obj = { name:'Jim' };

var str =JSON.stringify(obj);

//存入

localStorage.obj = str;

//读取

str = localStorage.obj;

//重新转换为对象

obj = JSON.parse(str);

 

localStorage语法很简单,而且我们不需要考虑具体的实现机制:

 

  1 window.localStorage.getItem( key );

  2 window.localStorage.setItem( key, value );

  3 window.localStorage.removeItem( key );

  4 window.localStorage.clear();

  5 window.localStorage.length;

  6 window.localStorage.key( i );

 

上述五个方法和一个属性是最常用、也够用的localStorage的接口,也是所有实现得最为统一的接口。更多其他使用方法,请自行百度查找,这里不一一列举。

 

Web Storage这个东西真正好:量大、永久存储、不用使用任何插件,不随http发送 … 用来保存一些用户非敏感的状态和信息是再合适不过的了。其浏览器兼容性如下:

可以看到,由于除IE外的其他浏览器很早的版本都支持了,关键是我们可以不用考虑这些浏览器的更低版本,所以基本上可以认为都已经支持了localStorage,而IE是个特例,虽然IE8就开始支持localStorage应该夸奖,但是其更低版本IE却都不支持,令人气馁的是,这些低版本浏览器在中国的占有率挺高…

 

这是一个微信案例。

https://mp.weixin.qq.com/s/0P6L80wvLBX-g9Onu2pxXA

 

将JS 存入了localStorage。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涂作权的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值