繁体   English   中英

删除 socket.io 中的消息?

[英]Delete messages in socket.io?

我正在开发一个 socket.io 聊天应用程序,它将消息附加到一个 div (#message-container) 以便它显示在页面上。 随着消息的继续发送,它会不断堆积更多消息,直到页面最终溢出。 如果我想让它显示最近的 10 条消息而不是整个对话历史记录,那么在 10 条消息之后它会开始删除最上面的消息以为最近的消息腾出空间怎么办?

我在 HTML 中有一个 div,其 id 为消息容器,

const messageContainer = document.getElementById('message-container') 

在 server.js 中:

  socket.on('send-chat-message', message => {
    socket.broadcast.emit('chat-message', { message: message, name: users[socket.id] })
    
  })

在 script.js 中:

socket.on('chat-message', data => {
  appendMessage(`${data.name}: ${data.message}`)
})

这就是它如何显示消息的简单概述。 我该怎么做才能检查消息计数并删除它们以便屏幕上只有一定数量?

好吧,您依赖于不太合适的 HTML 元素'message-container' ,相反,您可以使用数组存储在当前 session 中,您的 ZC1C425268E68385D14 管理消息appendMessage()然后您可以在 aF 中进行推送和管理消息) JSON 阵列随心所欲

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM