Estoy tratando de obtener la posición del texto enriquecido pegado desde el portapapeles:
$(window).on('paste', checkClipboard); function checkClipboard(e){ var pastedText = e.originalEvent.clipboardData.getData('text/html'); var parser = new DOMParser(); var htmlDoc = parser.parseFromString(pastedText, 'text/html'); console.log(htmlDoc); }Para el siguiente texto enriquecido "var parser = new DOMParser()" el resultado será el siguiente
En el html, el texto enriquecido del árbol se incluye en intervalos.
¿Cómo podemos obtener una declaración de estilo como esta: "nombre de estilo - valor de estilo - posición desde - posición hasta"? Para el ejemplo anterior sería como:
{color de fuente: #000080, desde: 0, hasta: 3}
{font-weight: negrita, desde: 0, hasta: 3}
{color de fuente: #458383, desde: 4, hasta: 9}
...
PD: es inútil contar la longitud de textContent de body.firstChild.children porque solo los tramos con texto enriquecido son hijos, pero no el texto sin formato entre los tramos. Entonces, para el ejemplo anterior, solo hay 4 niños.