管理进化

本地存储是什么意思


本地储存的意思是指H5新增的API,用来在本地存储数据,在不影响服务器性能的情况下来在本地存储大量的数据。断电后数据不会消失,存储到本机。本地存储分为cookie,以及新增的localStorage和sessionStorage。

存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路径,只有此路径及此路径的子路径才能访问此cookie,在设置的过期时间之前有效。

生命周期为在cookie设置的过期时间之前一直有效,即使窗口或者浏览器关闭;存放数据大小为4K;有存储个数限制(各浏览器不同),一般不超过20个;

与服务器端通信,每次都会携带在HTTP头中,cookie存储数据过多会带来性能问题;

jquery 设置cookie

$.cookie('mycookie','123',{expires:7,path:'/'});

jquery 获取cookie

$.cookie('mycookie');

2、 localStorage

存储在本地,容量为5M或者更大,不会在请求时候携带传递,在所有同源窗口中共享,数据一直有效,除非人为删除,可作为长期数据。

生命周期永久,除非用户清除浏览器中的localStorage信息,否则永远存在;

存放数据大小一般为5MB;

仅在浏览器中保存,不参与服务器通信;

//设置:

localStorage.setItem("dat", "456");

localStorage.dat = '456';

//获取:

localStorage.getItem("dat");

localStorage.dat

//删除

localStorage.removeItem("dat");

3、 sessionStorage

存储在本地,容量为5M或者更大,不会在请求时候携带传递,在同源的当前窗口关闭前有效。

localStorage 和 sessionStorage 合称为Web Storage , Web Storage支持事件通知机制,可以将数据更新的通知监听者,Web Storage的api接口使用更方便。

iPhone的无痕浏览不支持Web Storage,只能用cookie。

仅在当前会话下有效,关闭页面或者浏览器后被清除;存放数据大小一般为5MB;仅在浏览器中保存,不参与服务器通信;可以接受源生接口,亦可以再次封装来对Object和Array有更好的支持。

4、localStorage与sessionStorage区别

我经常用到的存储方式为前两种,因此需要清楚了解它们之间的区别。localStorage与sessionStorage的API调用方法相同;不同浏览器无法共享localStorage或sessionStorage中的信息;相同浏览器的不同页面可以共享相同的localStorage(前提是页面属于相同域名和端口);相同浏览器的不同页面无法共享sessionStorage的信息;

实例

1、ajax数据加载

2、表单验证

3、滑动条

4、自定义滚动条

智齿客服