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

本文共 1629 字,大约阅读时间需要 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")

image

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://wgiel.baihongyu.com/

你可能感兴趣的文章
根据id来实现小程序tab切换,
查看>>
003——数组(三)count()reset()end()prev()next()current()
查看>>
20060516: 实现圆角div效果
查看>>
Vim 快捷键整理
查看>>
自己在总结前人经验下弄的几个opencv封装函数
查看>>
宣布降低Windows Azure 存储和计算的价格
查看>>
使用 MacBook Pro 的硬件重置功能解决故障
查看>>
tomcat-1-初识
查看>>
转载:::::简单分享一个轻量级自动化测试框架目录结构设计
查看>>
cocos2dx飞机大战开发记录(3)
查看>>
poj 1201 Intervals
查看>>
maven学习(6)-Maven依赖范围
查看>>
JavaScript设计模式: 接口模仿
查看>>
黑马程序员--java基础知识注意点收录
查看>>
HTML CSS——margin和padding的学习
查看>>
【《zw版·Halcon与delphi系列原创教程》 zw_halcon人脸识别
查看>>
Webform中<%%>
查看>>
一些简单的配置
查看>>
Effective C++ 精要(第五部分:实现)
查看>>
DIV+CSS颜色边框背景等样式
查看>>