HTML 本地存储
HTML5 本地存储提供了两个在客户端存储数据的对象
- window.localStorage - 存储没有截至日期的数据(永久性本地存储)
- window.sessionStorage - 针对一个session来存储数据(会话级别本地存储)
在使用本地存储时,请检测 localStorage 和 sessionStorage 的浏览器支持:
if (typeof(Storage) !== "undefined") {
// 针对 localStorage/sessionStorage 的代码
} else {
// 抱歉!不支持 Web Storage ..
}
1、localStorage 对象
localStorage 对象存储的是没有截至日期的数据。当浏览器被关闭时数据不会被删除,在下一天、周或年中,都是可用的。H5标准要求浏览器至少支持到4MB
// 存储
localStorage.setItem("lastname", "Gates")
或
localStorage.lastname = Gates
// 取回
localStorage.getItem("lastname")
或
localStorage.lastname
// 删除
localStorage.removeItem("lastname")
2、sessionStorage 对象
sessionStorage 对象等同 localStorage 对象,不同之处在于只对一个 session 存储数据。如果用户关闭具体的浏览器标签页,数据也会被删除。
3、本地数据库
逆天了的本地数据库
Cookie
html4时代只能通过Cookie处理浏览器端的存储问题,有如下限制:
- 大多数浏览器支持最大为4096字节的Cookie
- 浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量。大多数浏览器只允许每个站点存储 20 个 Cookie;如果试图存储更多 Cookie,则最旧的 Cookie 便会被丢弃。
- 有些浏览器还会对它们将接受的来自所有站点的 Cookie 总数作出绝对限制,通常为 300 个。
- Cookie默认情况都会随着Http请求发送到后台服务器,但并不是所有请求都需要Cookie的,比如:js、css、图片等请求则不需要cookie。