Как отправить новую строку в сообщении на websocket - PullRequest
0 голосов
/ 01 марта 2019

Редактировать: Согласно моим исследованиям, проблема заключается в том, что текст помещается внутри текстового узла, что предотвращает его обработку в виде HTML.Из-за этого все ответы до сих пор не работали.

Я отправляю некоторые сообщения с веб-сокетами из скрипта Python.Поскольку у меня нет опыта работы с веб-сокетами и 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 голосов
/ 01 марта 2019

Вы поместили '\ n' в кавычки?Не работает без кавычек

0 голосов
/ 01 марта 2019

Вы можете попытаться добавить свойство пробела 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

0 голосов
/ 01 марта 2019

попробуйте заменить \ n на <br>, помните, что вы работаете с html

message = message.replace(/\n/g, "<br>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...