Передача новых элементов DOM через Socketio - PullRequest
1 голос
/ 28 сентября 2019

Как передать серверную часть DOM Elements через socketio для отображения нового содержимого сообщения.

// Client

// Pass DOM element as string 
function elemToString(elem){
    return elem.outerHTML
}

window.addEventListener("keyup", sendMessage, false);
function sendMessage(key) {
	if (key.keyCode === 13) {
		if (chatbox.value !== "") {
			const child = document.createElement("div");
			child.textContent = `${chatbox.value}`
			child.className = "messages"
			chat.appendChild(child);
			socket.emit('chatMsg', elemToString(child))
            chatbox.value = "";
			chatbox.style.display = "none";
			setTimeout(()=>{
				child.remove()
			},4000)
		} 
		else chatbox.style.display = "none";
	}
}


// User Class

class User {
    constructor(name, x, y) {
        this.alive = false
        this.name = name
        this.cells = []
        this.room = 'none'
        this.message = []
    }

    update(cells) {
        this.cells = cells
    }
}

module.exports = User

// Server

socket.on('chatMsg', elem => {
    user.message.push(elem)
})
У меня есть горячая клавиша, которая отправляет новые div, которые отображают содержимое сообщения.Я хочу передать данные на стороне сервера через socket.io, чтобы все пользователи могли видеть новое содержимое сообщения, а не только отдельный клиент.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...