前景提要
周末花了一天半时间研究了一下 socket.io ,写了一个聊天室应用,搭建在了 repl.it 上
功能支持多频道、在线用户列表、进入 /离开频道广播、昵称变更广播、最长 1000 字符的文本消息、自定义昵称 /消息颜色、消息历史记录、SVG 格式的报表展示等
因为用 cookie 来标识用户,所以在浏览器不同页签会被算作同一用户的不同会话,要体验多账号可以用无痕模式或换个浏览器
预览
地址
测试频道
源码
用法
用法还是很简单, https://chat.getloli.com/room/@:name?title=一个普通的标题 , :name 和 title 的值改成你自己的,可以作为 iframe 嵌套使用
SVG 报表
好玩的在这里,还记得上次我发的 Github 个人页 Readme 的玩法 吗?没错,他又来了
得益于 SVG 的神奇特性 <foreignObject> ,我们可以让一个 SVG 包含一个标准的 HTML 页面,而 SVG 可以作为图片被引用,那么二者结合之后…
当当当当~
你可以点进去发一条消息再回来刷新页面,消息会即时显示在图片上
SVG 报表的参数相对多一些,不过用法也很简单: https://chat.getloli.com/room/@test/svg?width=750&height=360&limit=20&theme=light&fontSize=13& [email protected] :%20~
参数名都很直白,我就不解释了,和 Github 结合起来的效果,还是看我的个人页吧 github.com/journey-ad
参考
Node.js 與 Socket.io – 即時聊天室實作
MDN 关于 <foreignObject> 的说明
SVG <foreignObject>简介与截图等应用