Herramientas de desarrollo · Editor HTML WYSIWYG
Texto enriquecido en el portapapeles: cómo viaja el formato entre aplicaciones
· Antecedentes
html portapapeles contento
Explica los múltiples formatos que una copia de texto enriquecido coloca en el portapapeles, cómo cada aplicación elige uno y por qué el marcado pegado nunca es exactamente lo que se copió.
La misma copia, tres pegados diferentes: se abre con el contenido pegado en un navegador, una terminal y un cliente de correo.
Un párrafo copiado puede llegar como contenido formateado en un editor de navegador y caracteres sin formato en una terminal porque los destinos solicitan representaciones diferentes. El controlador de pegado de ToolAcre solicita al portapapeles HTML y texto sin formato, luego sigue una rama fija en lugar de confiar en la inserción predeterminada del navegador.
Si HTML está presente, el fragmento enriquecido original nunca ingresa a la superficie directamente. Primero pasa por el desinfectante. Si no hay HTML, se inserta texto sin formato. Esa regla local explica el comportamiento de este editor sin afirmar cómo cada cliente de correo, sistema operativo o suite ofimática prioriza los datos del portapapeles.
Este controlador de pegado lee text/html y text/plain;. Los tipos más amplios del portapapeles están fuera de la evidencia.
Un portapapeles puede contener múltiples representaciones de una selección. Esta implementación trata explícitamente con `text/html` y `text/plain`. No enumera RTF, imágenes, referencias de archivos o formatos específicos de aplicaciones, por lo que no deben considerarse entradas admitidas.
Las dos cadenas pueden codificar información diferente. El texto sin formato contiene caracteres y saltos de línea, mientras que HTML puede contener párrafos, listas, énfasis y enlaces, además de atributos no deseados. ToolAcre favorece la estructura cuando está disponible, pero la limita a través de su elemento, atributo y política de URL antes de la inserción.
Quién escribe el formato HTML: explica que la aplicación fuente lo genera, razón por la cual los archivos pegados de Word y Google Docs se ven tan diferentes.
La aplicación de origen crea la representación HTML, razón por la cual dos copias visualmente similares pueden proporcionar envoltorios y presentaciones diferentes. ToolAcre no identifica al productor. Aplica una regla genérica: los contenedores y atributos no admitidos se eliminan independientemente del origen.
Esto evita que los catálogos sin fuentes de elementos internos de Word o Google Docs se conviertan en afirmaciones de productos. La lista de eliminación le dice al escritor exactamente lo que rechazó este analizador. Si la fidelidad a una aplicación fuente es importante, capture un dispositivo real del entorno compatible y pruébelo en lugar de confiar en un ejemplo de artículo genérico.
Cómo elige el destino: cubre el orden de preferencia y los atajos de pegar como texto sin formato
El destino se elige por código. Aquí gana el HTML no vacío; de lo contrario, se utiliza texto sin formato. No hay un interruptor en la barra de herramientas para "pegar como texto sin formato" y las fuentes del repositorio no definen el comportamiento de los métodos abreviados de teclado. Los navegadores y los sistemas operativos pueden ofrecer dichos gestos de forma independiente.
El manejo de caídas refleja la misma idea con DataTransfer: evitar valores predeterminados, leer HTML y valores sin formato, desinfectar HTML antes de `insertHTML` o enviar caracteres sin formato a través de `insertText`. A diferencia de pegar, la ruta de colocación no muestra el mismo recuento de eliminación detallado, aunque la actualización aún actualiza el documento visible.
Esta implementación no analiza explícitamente los metadatos del fragmento de plataforma
Algunas plataformas envuelven fragmentos del portapapeles HTML en metadatos o marcadores, pero ToolAcre no contiene ningún analizador explícito para un formato de plataforma con nombre. Su tokenizador ve la cadena devuelta por `getData("text/html")` y procesa el marcado reconocido. Por lo tanto, este artículo omite la sintaxis del encabezado, las compensaciones y las garantías específicas del sistema operativo.
Si los envoltorios aparecen como comentarios, los comentarios se eliminan. Si los metadatos llegan fuera del HTML reconocido, se debe probar el comportamiento. Una posibilidad cualitativa no es suficiente para reclamar apoyo o rechazo a un protocolo de plataforma que el código nunca menciona.
Ejemplo resuelto: comparar una carga útil enriquecida del portapapeles con una carga útil simple
Copie un párrafo no confidencial que contenga texto seguro, una lista breve y un enlace https. Una pasta rica puede conservar esas estructuras permitidas, eliminar el estilo de origen y agregar rel al enlace. Inspeccione la fuente y la advertencia de eliminación. Luego pegue una representación simple a través de un entorno que no proporcione HTML.
El resultado simple contiene caracteres insertados en la selección; cualquier estructura de bloque la decide el host de edición del navegador en lugar de restaurarla desde el HTML original. Compare palabras y límites de líneas por separado de los elementos. El ejercicio demuestra la traducción entre representaciones, no la copia byte por byte.
Lo que esto no cubre: API del portapapeles, imágenes, accesos directos a plataformas o matrices de permisos.
Este artículo no cubre la programación de navigator.clipboard, solicitudes de permiso, imágenes del portapapeles, archivos, RTF, accesos directos móviles o una matriz de preferencias multiplataforma. Tampoco afirma que el pegado enriquecido interceptado haga que sea seguro publicar HTML hostil y arbitrario.
El desinfectante de ToolAcre es estrecho y reconoce los diferenciales del analizador. Su zona de pruebas bloquea la ejecución en la vista previa local, pero el HTML copiado abandona ese entorno. Un servidor receptor necesita un desinfectante y una política de salida adecuados basados en analizadores, mientras que los usuarios deben evitar pegar secretos en cualquier página no revisada.
Conclusión: el pegado es una traducción, no una copia: resume el modelo y cómo el editor HTML WYSIWYG de ToolAcre le permite inspeccionar lo que produjo la traducción.
Un pegado enriquecido es una traducción: el origen escribe representaciones, el destino elige una y ToolAcre filtra el HTML elegido antes de la inserción. Comprender esa secuencia explica por qué el formateo puede desaparecer sin tratar el portapapeles como roto.
Utilice elementos representativos, inspeccione la fuente resultante y conserve el contenido original cuando la limpieza pueda eliminar el significado. La pasta simple es útil para restablecer la presentación, mientras que la pasta rica puede conservar la estructura. Ninguno de los dos caminos exime al destino de realizar pruebas de saneamiento, compatibilidad o revisión editorial.