header
中都是要被传输的,所以会消耗额外的网络流量。WebStorage是HTML新增的本地存储解决方案之一,但并不是为了取代cookie而制定的标准,cookie作为HTTP协议的一部分用来处理客户端和服务器通信是不可或缺的,session正是依赖于实现的客户端状态保持。WebStorage的意图在于解决本来不应该cookie做,却不得不用cookie的本地存储。
用于持久化的本地存储,浏览器窗口关闭后,localStorage存储的数据仍然可以被访问。所有浏览器窗口可以共享localStorage的数据,保存的数据永远不会过期,只能手动删除。
用于本地存储一个会话中的数据,它不是一种持久化的本地存储。这些数据只有在同一个会话中的页面才能访问,当前页面不可以访问新开页面的数据,并且会话结束后数据也随之销毁而无法使用。
方法 | 描述 |
---|---|
getItem(key) | 获取指定key本地存储的值 |
setItem(key, value) | 将value值存储到本地的key字段 |
removeItem(key) | 删除指定key本地存储的值 |
clear() | 删除localStorage中存储的所有数据 |
length | 获取存储的键值对的数量 |
key(index) | 根据索引获取一个指定位置的键名 |
localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用
localStorage.lastname="Smith";
document.write(localStorage.lastname);
if (localStorage.pagecount)
{
localStorage.pagecount=Number(localStorage.pagecount) +1;
}
else
{
localStorage.pagecount=1;
}
document.write("Visits "+ localStorage.pagecount + " time(s).");
sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
sessionStorage.lastname="Smith";
document.write(sessionStorage.lastname);
if (sessionStorage.pagecount)
{
sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;
}
else
{
sessionStorage.pagecount=1;
}
document.write("Visits "+sessionStorage.pagecount+" time(s) this session.");