socket.emit 在格式化消息中打印 <span> 标签

编程入门 行业动态 更新时间:2024-10-03 19:26:18

socket.emit 在格式化<a href=https://www.elefans.com/category/jswz/34/1771421.html style=消息中打印 <span> 标签"/>

socket.emit 在格式化消息中打印 <span> 标签

我目前正尝试在 node.js、express.js 和 socket.io 上创建一个小型聊天应用程序,但我在格式化它时遇到问题:出于某种原因,它没有实际使用格式化消息中的标签,而是打印他们聊天

尝试以各种方式格式化它,创建一些其他功能来做到这一点,到目前为止没有任何效果

为什么会这样?


server.js

  socket.on('message', (message) => {
    const timestamp = new Date().toLocaleTimeString([], { hour12: false, hour: '2-digit', minute: '2-digit' });
    const usernameSpan = `<span class="chat-user">${users[socket.id]}</span>`;
    const messageSpan = `<span class="chat-message">${message}</span>`;
    const timeSpan = `<span class="chat-time">[${timestamp}]</span>`;
    const formattedMessage = `${timeSpan} ${usernameSpan}: ${messageSpan}`;

    if (message.startsWith('/')) {
      const [command, ...args] = message.split(' ');
      switch (command) {
        // commands go here
      }
    } else {
      messages.push(formattedMessage);
      if (messages.length > MAX_MESSAGES) { // if >500 messages already stored
        messages.shift();
      }
      io.emit('message', formattedMessage);
      console.log(`${users[socket.id]}: ${message}`);
      fs.appendFile('recent-messages.txt', `${formattedMessage}\n`, (err) => {
        if (err) {
          console.error(err);
        }
      });
    }
  }); 


client.js

socket.on('message', (message) => {
    const messageElement = document.createElement('div');
    messageElement.setAttribute('class', 'message');
    messageElement.textContent = message;
    messagesDiv.appendChild(messageElement);
    chatBoxDiv.scrollTop = chatBoxDiv.scrollHeight;
    checkForSpam();
});

回答如下:

更多推荐

socket.emit 在格式化消息中打印 <span> 标签

本文发布于:2024-05-30 04:26:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770160.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:消息   标签   emit   socket   gt

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!