jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
前言:cookie,localStorage和sessionStorage都是浏览器本地存储数据的地方,其用法不尽相同;总结一下基本的用法。
一、cookie
定义:
存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽;
可设置访问路径,只有此路径及此路径的子路径才能访问此cookie,存在有效的时间。
注意点:
cookie的访问需要服务器环境,直接在本地文件访问无效;
cookie的访问和设置需要导入jquery.cookie.js文件;
浏览器对每一个访问的地址下可添加的cookie是有限制的;同时每个浏览器可添加的cookie个数也存在限制。
作用:
储存用户的痕迹信息,如用户名,ID号,密码等,是服务器脚本发送给浏览器的加密数据,便于下次访问时用户可以直接登录等;
运用代码
//访问cookie,mycolor代表键 var $cook = $.cookie("mycolor"); //设置cookie $.cookie("mycolor", "red"}); $.cookie("mycolor", "red", { expires: 7, path: '/' });//增加了有效时间和访问路径 //删除cookie,传递null值 $.cookie("mycolor", null});
说明:
'mycolor'参数相当于cookie存储数据的键,即数据的名字,通过名字访问;
cookie的设置有三个参数,第一为设置数据的键,第二个为设置数据的值,expires表示有效时间,单位为天,path为访问路径,"/"表示当前文件路径,在网站中表示根目录。
注意:如果不设置路径,默认情况下只有设置cookie的网页才可以访问此cookie;如果想网站的网页可以共享cookie,将路径设为根目录。
注意:cookie就相当于一个能存储数据的微型本地数据库,"mycolor"相当于每条数据的key。
二、localStorage
定义:一个本地的小型数据文件
存储在本地,容量为5M或者更大,不会在请求时候携带传递;
数据在所有同源窗口中共享,一直有效,除非人为删除,可作为长期数据。
注意点:
localStorage数据不需要依赖服务器环境访问,可以直接在本地文件访问;
不需要额外的文件支持。
同源窗口指的是同一个域名下或者是index.html所在的文件夹下的文件路径。
代码运用
//设置: localStorage.setItem("mycolor", "456"); localStorage.mycolor= '456'; //获取: var $color = localStorage.getItem("mycolor"); var $color = localStorage.mycolor var $color = localStorage.key(0);//获取第一个键,按角标获取 var $color = localStorage.key("");//获取最后一个键 var $length = localStorage.length;//获取数据的长度 //删除 localStorage.removeItem("mycolor"); //清空 localStorage.clear();//将所有保存的数据删除
说明:
设置数据格式类似键值对,"mycolor"代表key,"456"代表值。
数据是有排序的,后加入的角标靠前,最后加入的角标为0.
注意:localStorage相当于将数据保存在磁盘,是永久的,但是其针对的是固定的域名下的文件,打开其他的域名下的网页,localStorage不会显示。
三、sessionStorage
定义:一个本地的小型数据库
存储在本地,容量为5M或者更大;
不会在请求时候携带传递,在同源的当前窗口关闭前有效。
注意点:
sessionStorage同样不需要再服务器的环境下运行;
不需要额外的文件支持;
sessionStorage数据设置后即使页面进行重载也不会清除;但当该窗口关闭后,里面的数据就会清除,再打开没有数据。相当于将数据保存在内存中。
代码运用
//设置: sessionStorage.setItem("mycolor", "456"); sessionStorage.mycolor= '456'; //获取: var $color = sessionStorage.getItem("mycolor"); var $color = sessionStorage.mycolor var $color = sessionStorage.key(0);//获取第一个键,按角标获取 var $color = sessionStorage.key("");//获取最后一个键 var $length = sessionStorage.length;//获取数据的长度 //删除 sessionStorage.removeItem("mycolor"); //清空 sessionStorage.clear();//将所有保存的数据删除
说明:
sessionStorage的使用方法和localStorage一样。
数据是有排序的,后加入的角标靠前,最后加入的角标为0.
总结