博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
活学活用! 用Local Storage实现多人聊天室
阅读量:6338 次
发布时间:2019-06-22

本文共 1670 字,大约阅读时间需要 5 分钟。

最终效果

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
  • 阮一峰

转载地址:http://loooa.baihongyu.com/

你可能感兴趣的文章
前端项目课程3 jquery1.8.3到1.11.1有了哪些新改变
查看>>
UOJ#179. 线性规划(线性规划)
查看>>
整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
redis 安装
查看>>
SQL some any all
查看>>
电子书下载:Programming Windows Identity Foundation
查看>>
有理想的程序员必须知道的15件事
查看>>
用于测试的字符串
查看>>
财付通和支付宝资料收集
查看>>
PHPCMS V9数据库表结构分析
查看>>
理解 IEnumerable 与 IEnumerator
查看>>
NHibernate 2.0 Beta 1 Released和一些工具
查看>>
【每天一个Linux命令】12. Linux中which命令的用法
查看>>
软件接口数据一致性机制
查看>>
微服务架构介绍和RPC框架对比
查看>>
Debian下使用OpenLDAP 管理端
查看>>
泛型排序器TComparer
查看>>
9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路...
查看>>