Traté de clonar un objeto DOM y enviarlo al servidor usando socket.io y express, pero después de copiar el elemento
( const element = document.getElementById('id').cloneNode; ) mi servidor recibe un objeto vacío {}
y cuando hago console.log(element); en el lado del cliente todo funciona
(Lo envío al servidor por:
socket.on('document', (data, callback) => { callback( document.getElementById(data[2]).cloneNode(true) ); })Socket.io convierte objetos a JSON para enviarlos por cable. Los elementos DOM no tienen propiedades que se conviertan a JSON.
const body = JSON.stringify(document.body); console.log(body);Deberá copiar los valores que le interesan en un nuevo objeto y convertir cualquier tipo de datos que no sea JSON en algo que JSON pueda representar.