javascript聊天显示消息

javascript chat display messages

本文关键字:消息 显示 聊天 javascript      更新时间:2023-09-26

我正在尝试实现一个聊天。我想在div中显示消息。我的模型看起来像:

<div id="chatcontentcontainer">
   <div id="messageid">
       <div class="sender">sender name</div>
       <div class="messagebody">message text</div>
   </div>
   .....
   .....
</div>

我的javascript看起来像:

var messages = responseXML.getElementsByTagName('ChatMessage');
var chatContainer = document.getElementById('chatcontentcontainer');
for (var i = 0; i < messages.length; i++)
{
    var msg = messages[i];
    var x = document.createElement('div');
    x.id = msg.children[0].textContent;
    x.innerHTML = msg.children[1].textContent;
    chatContainer.appendChild(x);
    _lastMessageId = x.id;
}

这将在div中填充没有发送方信息的消息。一开始只有信息。如何更改此项以检查是否已显示消息?你对显示信息还有其他建议吗。。。我对性能很感兴趣,因为它每5秒就会刷新一次。

有没有其他方法可以在不影响表现的情况下选择类似msg.childred[0]的消息?

添加到列表中的每个div都需要用数据中存在的信息进行注释。例如,如果每个消息都有一个id,那么可以给div一个id child_id_{x}。

然后,您可以更改代码,根据id添加一个检查,以确保该元素不存在。

有道理吗?

将时间戳或序列号与消息相关联。从服务器返回的XML将具有从时间t0到时间t1的消息。在页面上显示后,以某种方式将最后显示的消息的时间戳存储在浏览器中(在这种情况下为t1)。当下一组消息到达时,您只需要显示那些id>t1的消息。

对任何正在进行的事件进行评论的实现也是一个类似的问题,我在那里给出了一个端到端的解决方案策略。你可能会觉得这很有帮助。