html5新特性---web Storage

482 阅读1分钟

客户端存储数据可以使用的技术

1. cookie技术:浏览器兼容性好,不能超4KB,操作复杂
2. Flash技术 :依赖Flash播放器
3. H5 WebStorage:不能超8MB,操作简单
4. IndexDB:存大量数据,还不标准
Session:会话(操作过程),浏览器从打开某个网站的一个页开始[会话开始],中间可能打开很多页面[会话中],直到关闭浏览器[会话结束]整个过程称为"浏览器与web服务器的一次会话"

WebStorage技术中,浏览器为用户提供二个对象

  • window.sessionStorage,存储在浏览器分得到内存中,可供此次会话中所有页面共同使用,浏览器一旦关闭数据消失。

sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页关闭就销毁了,不同页面或标签页间无法共享sessionStorage的信息。

```
sessionStoage[key] = value;           //保存一个数据
sessionStoage.setItem(key,value);     //保存一个数据
var val = sessionStoage[key];         //获取一个数据
val val = sessionStoage.getItem(key); //获取一个数据
sessionStoage.removeItem(key)         //删除一个数据
sessionStoage.clear();                //清空所有数据
sessionStoage.length;                 //数据个数
var key = sessionStoage.key(i);       //获取第i key
```
  • window.localStorage,存储在磁盘中,可供此次会话以及后续会话页面共同使用,即使浏览器关闭,数据不会消失。

localStorage只有同源的情况下(域名,协议,端口号都一致)才能在不同页面共享

```
localStorage [key] = value;         //保存一个数据
localStorage.setItem(key,value);    //保存一个数据
var val = localStorage [key];       //获取一个数据
val val = localStorage.getItem(key); //获取一个数据
localStorage.removeItem(key)        //删除一个数据
sessionStoage.clear();              //清空所有数据
localStorage.length;                //数据个数
var key = localStorage.key(i);       //获取第i key
```