最终效果
Storage用于在浏览器中保存数据, storage分两种
- 第一种是Local Storage, 用于长时间保存数据(较为常用)
- 第二种是 Session Storage, 关掉浏览器, 保存的数据就会清空(具体使用用法和Local Storage相似, 可以套用Local Storage的方法)
篇幅有限,这里以Local Storage为例
Local Storage可以用来做什么?
可以用来存储用户搜索历史
可以用来存储播放器设置
可以用来存储用户信息
Local Storage怎么用?
通过js获取localstorage对象
// 从window对象中获取localStoragewindow.localStorage复制代码
查看LocalStorage的数量
window.localStorage.length复制代码
setItem 增加数据, 修改数据
- 增加数据
window.localStorage.setItem("userName", "昭昭")复制代码
- 修改数据
window.localStorage.setItem("userName", "zhaoolee")复制代码
getItem 读取数据
window.localStorage.getItem("userName")复制代码
removeItem 移除特定键的值
window.localStorage.removeItem("userName")复制代码
clear 清除所有键的值
window.localStorage.clear()复制代码
根据索引获取"键的名字" , window.localStorage.key()
var storageLength = window.localStorage.length;for(var i = 0; i < storageLength; i++) { console.log(window.localStorage.key(i));}复制代码
对Local Storage添加事件监听
function onLocalStorageChange(event) { console.log(event.key);}window.addEventListener('storage', onLocalStorageChange);复制代码
- 任何LocalStorage的
增删改查
事件,都会触发函数onLocalStorageChange
- 还有一个很有意思的性质, 在某域名下( ), 有A页面( )和B页面( ), 在A页面下进行LocalStorage的
增删改查
, 只有在其它页面(比如B页面)才能触发onLocalStorageChange
- 我们可以用上面提到的性质, 把LocalStorage当数据库,写一个本地的聊天室(纯属自娱自乐)
Local Storage聊天室
- 源码
实现的功能
- 可以匿名聊
- 可以无限加人
- 也可以随时换名字
开始聊天 复制代码
运行上面的聊天源码, 需要开启http服务, 可以参考
小结:
博主前几天写网站,服务端向浏览器下发cookies, 由于网络环境不太好, cookies下发可能会失败, 博主最后用Local Storage代替了cookies, 还是蛮好用的, 哈哈, 还是要主动拥抱新技术!
参考资料
- MDN
- 阮一峰