HTML5 - 本地存储
window.sessionStorage
window.localStorage
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
本地存储特性
1、数据存储在用户浏览器中
2、设置、读取方便、甚至页面刷新不丢失数据
3、容量较大,sessionStorage约5M、localStorage约20M
4、只能存储字符串,可以将对象JSON.stringify() 编码后存储
window.sessionStorage(针对一个 session 的数据存储)
1、生命周期为关闭浏览器窗口
2、在同一个窗口(页面)下数据可以共享
3. 以键值对的形式存储使用
常用方法
存储数据:
sessionStorage.setltem(key, value)
获取数据:
sessionStorage.getltem(key)
删除数据:
sessionStorage.removeltem(key)
删除所有数据:
sessionStorage.clear()
window.localStorage
1、声明周期永久生效,除非手动删除 否则关闭页面也会存在
2、可以多窗口(页面)共享(同一浏览器可以共享)
3. 以键值对的形式存储使用
常用方法
存储数据:
localStorage.setItem(key, value)
获取数据:
localStorage.getItem(key)
删除数据:
localStorage.removeItem(key)
删除所有数据:
localStorage.clear()
记住用户(使用localStorage):
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> 用户名:<input type="text" class="username"> 记住用户名<input type="checkbox" class="remember"/> <script type="text/javascript"> var username = document.querySelector('.username'); var remember = document.querySelector('.remember'); if(localStorage.getItem('username')){ username.value = localStorage.getItem('username'); remember.checked = true; } remember.addEventListener('change', function(){ if(this.checked){ localStorage.setItem('username',username.value); }else{ localStorage.removeItem('username'); } }) </script> </body> </html>