JS 本地存储
概述
本地存储数据的方式有3种,分别是cookie、localStorage和sessionStorage。 cookie存储空间较小,约4KB;localStorage和sessionStorage可以保存5MB的信息。
1.cookie
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,
cookie一般是后端设置的:
php中setcookie()
PHP中session使用方法详解
在JavaScript中也可以使用document.cookie来读取、设置或删除Cookie。
js中设置cookie的方法
上面链接中有格式化读写cookie的js库
注意:必须localhost打开才行,直接html打开不行
2.sessionStorage
sessionStorage是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据(key/value),在关闭窗口或标签页之后将会删除这些数据,是window下的对象。
1) 只在本地存储:seesionStorage的数据不会跟随HTTP请求一起发送到服务器,只会在本地生效,并在关闭标签页后清除数据。 2) 存储方式:seesionStorage的存储方式采用key、value的方式。value的值必须为字符串类型。 3) 存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下。 4) 存储的是字符串,就算传入数值,也会转换成字符串
方法
描述
setItem('key','value')
保存某个数据
getItem('key')
获取某个数据
removeItem('key')
删除某个保存的数据
clear()
删除所有保存的数据
3.localStorage
在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题,localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。
1) localStorage和sessionStorage一样都是用来存储客户端临时信息的对象; 2) 只能存储字符串类型的对象; 3) localStorage生命周期是永久,使用localstorage存数数据,那么,即使你是将浏览器关闭了,数据也不会消失。这意味着除非用户主动清除localStorage信息,否则这些信息将永远存在。 4) 不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。
方法
描述
setItem('key','value')
保存某个数据
getItem('key')
获取某个数据
removeItem('key')
删除某个保存的数据
clear()
删除所有保存的数据