el objetivo es copiar un div que contenga texto y una imagen para crear el cuerpo de un correo electrónico que se pegará en el cliente de correo electrónico. Puedo hacer esto con el comando execCommand (copiar), pero al estar en desuso, me gustaría llegar a una solución usando la API del Portapapeles. Con Portapapeles puedo copiar el texto a través de la función de escritura pasando el elemento html por id pero esto elimina cualquier formateo del texto y las imágenes.
aplicación que crea una plantilla para el cuerpo del correo electrónico
var toCopy = document.getElementById("riepilogonegozio") var r = document.createRange(); r.selectNode(toCopy); console.log(r) window.getSelection().removeAllRanges(); window.getSelection().addRange(r); console.log(r) document.execCommand('copy'); window.getSelection().removeAllRanges();