我有一个字符串,当我抓取打印到文本文件时,它会在每条消息后打印没有换行的字符串,即使我明确地将其放入' \ 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;正如你在代码中看到的那样
答案 0 :(得分:2)
这是一个HTML输出。将\n
替换为<br />
:
var stringMessage= 'session<br />\n' + '';
否则使用CSS,您需要将元素的样式设置为:
white-space: pre-wrap;