javascript聊天显示消息

时间:2011-05-25 09:24:52

标签: javascript performance

我正在尝试实施聊天。我想在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.children [0]类似msg.children ['Id']而不会影响性能?

2 个答案:

答案 0 :(得分:0)

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

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

有意义吗?

答案 1 :(得分:0)

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

implementation-of-running-commentary-on-any-ongoing-event是一个类似的问题,我在那里给出了端到端的解决方案策略。你可能会发现它很有帮助。