如何在消息中向Websocket发送换行符

时间:2019-03-01 15:55:03

标签: javascript html websocket

编辑:根据我的研究,问题是文本被放在了textnode内,这阻止了它作为html处理。因此,到目前为止,所有答案都无效。

我正在从python脚本发送一些带有websocket的消息。由于我没有使用websockets和Javascript的经验,因此我仅举了一些示例代码并根据我的需要定制了消息。

发送消息很好,但是我需要在消息中包括换行符。我曾尝试在邮件中包含\ n和“
”,但它们只是打印到html页面。

.html看起来像这样:

    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="refresh" content="1" >
            <title>Title</title>
        </head>
        <body>
            <script>
                var ws = new WebSocket("ws://127.0.0.1:5678/"),
                    messages = document.createElement('ul');
                ws.onmessage = function (event) {
                    var messages = document.getElementsByTagName('ul')[0],
                        message = document.createElement('li'),
                        content = document.createTextNode(event.data);
                    message.appendChild(content);
                    messages.appendChild(message);
                };
                document.body.appendChild(messages);
            </script>
        </body>
    </html>

3 个答案:

答案 0 :(得分:0)

尝试用<br>替换\ n,请记住您使用的是HTML

message = message.replace(/\n/g, "<br>");

答案 1 :(得分:0)

您可以尝试添加CSS空格属性

document.body.style = "white-space: pre;"

从文档中: pre => Whitespace is preserved by the browser. Text will only wrap on line breaks. Acts like the <pre> tag in HTML

答案 2 :(得分:-2)

您是否将'\ n'用引号引起来?没有引号就无法工作