【问题标题】:Linebreak is not being interpreted as a linebreak in Node JSLinebreak 不会被解释为 Node JS 中的换行符
【发布时间】:2021-09-27 02:57:54
【问题描述】:

在 node.js 上,我有一个像这样的文件:

data().then(v => {
    socket.country = d.country;
    onlineusers += d.name+'<br>';

我打算用&lt;br&gt; 换行,但它被解析为纯文本。如何在我的字符串中包含 html?

【问题讨论】:

  • 字符串就是这样 - 字符串。当它们被设置时,它们不会被解释为任何 HTML;这完全取决于您在下游如何使用这个值。您的数据究竟在哪里被解析?另见:How to Ask
  • 像这样:io.emit('login', { onlineusers: onlineusers });
  • 好吧,这不是它被解析为 HTML 的地方。该字符串的内容在哪里被解析?假设它是在套接字的另一端接收的,那么内容是如何被解析并“绘制”到那里的用户界面中的?相关的代码是什么? (请在您的问题正文中包含代码,因为它对于该问题的未来访问者来说更具可读性和可见性)
  • HTML 只有在它是真正的 HTML 时才应该使用。您应该更好地设计您的数据模型来表示您的数据,仅当数据即将显示在页面中时才将数据转换为 HTML。在我看来,您应该将 onlineusers 设为一个字符串数组。然后使用onlineusers.push(d.name) 添加一个项目。当您准备好显示数据时,使用onlineusers.join("&lt;br&gt;") 生成要插入的 HTML。
  • 客户端是这样的:socket.on('login', (data) =&gt; { userlist.textContent = data.onlineusers;

标签: javascript node.js


【解决方案1】:

在Javascript中使用插入换行符的方式

data().then(v => {
  socket.country = d.country;
  onlineusers += d.name+'\n';
}

【讨论】:

  • 感谢您的回答,但我的问题一般是关于 html 的,因此是原始标题。 br 旨在作为一个简单的示例。
猜你喜欢
  • 2021-02-28
  • 2016-04-20
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
  • 2019-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多