HTML5--web存储
程序员文章站
2022-03-12 20:23:38
HTML5 引入了两种类似HTTP会话cookies的机制,用于在客户端存储结构化数据以及克服以下缺点。
1、每个HTTP请求中都包含cookies,从而导致传输相同的数据减缓我...
HTML5 引入了两种类似HTTP会话cookies的机制,用于在客户端存储结构化数据以及克服以下缺点。
1、每个HTTP请求中都包含cookies,从而导致传输相同的数据减缓我们的web应用程序。
2、每个HTTP请求中都包含cookies,从而导致发送未加密的数据到互联网上。
3、cookies存储量只有4KB数据,不足以存储所需要的数据。
这两种方式是session storage 和 local storage
local storage
该方法存储的数据没有时间限时,关闭浏览器后不消失,长时间也不消失,除非手动清楚数据。
用法
//设置 localStorage.userNme = 'zcy' localStorage['userName'] = 'zcy' localStorage.setItem('userName','zcy') //读取 var userName = localStorage.userName var userName = localStorage['userName'] var userName = localStorage.getItem['userName']
API
localStorage.setItem(key,value): 保存数据
localStorage.getItem(key); 读取数据
localStorage.removeItem(key):删除某条数据
localStorage.key(index):获取某个索引的键值
localStorage.clear():清楚所有数据
session storage
该方法针对一个session进行存储,当用户关闭浏览器窗口后数据就会被删除(当然也可以调用API删除)
用法
//设置 sessionStorage.userNme = 'zcy' sessionStorage['userName'] = 'zcy' sessionStorage.setItem('userName','zcy') //读取 var userName = sessionStorage.userName var userName = sessionStorage['userName'] var userName = sessionStorage.getItem['userName'
API
和local storage的基本一致
注意:键值对通常以字符串存储 当我们要存储一个对象时,要用到JSON.stringify(obj) 将一个对象转换成字符串,需要具体使用这个对象时,再使用JSON.parse(str) 转换成对象。