JavaScript的;用新行

时间:2016-05-05 09:18:13

标签: javascript string

我有一个字符串,当我抓取打印到文本文件时,它会在每条消息后打印没有换行的字符串,即使我明确地将其放入' \ n'在字符串中。那么我如何整理字符串如下:

我将消息发送到服务器,然后将其发送回所有客户端,当数据到达客户端时,它抓取text.Content并打印到div。

var stringMessage= 'session\n' + '';

socket.on('output', function(data){
        if(data.length){
          //loop through all data.
              for(var x=0; x<data.length; x=x+1){
                if(data[x].sessionId == sessionId){
                  var message = document.createElement('div');
                  message.setAttribute('class','chat-message');
                  message.setAttribute('id','chat-message');
                  message.textContent = data[x].name + ': ' + data[x].message;
                  var chat_message = message.textContent;
                  stringMessage = stringMessage +'\n'+ chat_message + '\n';

                  //Append
                  messages.insertBefore(message, messages.firstChild);
                  messages.appendChild(message);
                  messages.scrollTop = messages.scrollHeight;//(message, messages.firstChild);
                }
              }
        }
});

然后我有一个函数来获取字符串stringMessage,它将包含字符串中的所有消息。

function grabChat(){
  var hiddenElement = document.createElement('a');

  hiddenElement.href = 'data:attachment/text,' + encodeURI(stringMessage);
  hiddenElement.target = '_blank';
  hiddenElement.download = sessionId+'.txt';
  hiddenElement.click();
}

所以如果我有这样的消息:  &#34;安德鲁:你好&#34;  &#34;安德鲁:再见&#34; 然后我打印它打印的功能如下: &#34; sessionIdAndrew:HelloAndrew:再见&#34;

如何在所有邮件之间创建新行?我试过了&#39; \ n&#39;正如你在代码中看到的那样

1 个答案:

答案 0 :(得分:2)

这是一个HTML输出。将\n替换为<br />

var stringMessage= 'session<br />\n' + '';

否则使用CSS,您需要将元素的样式设置为:

white-space: pre-wrap;