javascript - para - firefox
¿Por qué Google Chrome siempre agrega espacio después del texto seleccionado? (3)
¿Por qué Google Chrome siempre agrega un espacio al final de una línea al seleccionar un texto con 3 clics del mouse?
¿Crees que podemos hacer algo con CSS o JavaScript para eliminarlo? (Mala idea pero, solo tratando de evitar esto)
El bloque :
Cuando hago clic 3 veces en el texto:
Un ejemplo de GIF:
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is established to be used for illustrative examples in documents. You may use this
domain in examples without prior coordination or asking for permission.</p>
<p><a href="http://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
He realizado muchas pruebas entre Chrome y Firefox para descubrir un patrón común para su visualización, selección y métodos de copia.
Google Chrome
Google Chrome ignora todos los caracteres en blanco y negro del elemento interno y externo en el HTML, excepto si están dentro del texto. Todos los caracteres de espacio en blanco entre texto se muestran como un carácter de espacio singular, pero se conserva el valor real del carácter. Esto es para ambos elementos que tienen los estilos de visualización en línea o en bloque.
Cada elemento, excepto el último elemento del elemento del cuerpo, muestra un espacio al final cuando se selecciona mediante triple clic o selección de arrastre. Este espacio es diferente en función del estilo de visualización de los elementos.
Un elemento de visualización de bloque da como resultado 2 caracteres CRLF agregados cuando se copia el texto, mientras que un elemento de visualización en línea solo da como resultado 1 CRLF. Los caracteres en blanco se mantienen entre copiar y pegar, pero están limitados a un solo carácter.
Firefox
Firefox ignora el espacio en blanco del elemento externo, pero tiene resultados interesantes con los caracteres de espacio en blanco del elemento interno. Todos los espacios en blanco se convierten en espacios con excepción del carácter inicial con un límite de un espacio en blanco entre cada carácter que no sea de espacio en blanco. Solo se muestra y selecciona el último espacio en blanco.
La selección del triple clic y la copia del texto dan como resultado diferentes valores basados en el estilo de visualización de ese elemento.
Pantalla en línea
Siempre hay un espacio antes y después del texto que se copia independientemente de lo que contengan los elementos. Cada personaje de espacio en blanco se elimina.
Pantalla bloqueada
Los caracteres de espacios en blanco antes del texto se conservan tal como están y el carácter de espacio en blanco final se convierte en un espacio.
Entonces, para responder a su pregunta, todo se basa en la forma en que los navegadores implementan los métodos de visualización, selección y copia. Será diferente entre los navegadores y yo no recomendaría agregar CSS, JS y HTML. De las pruebas, creo que la selección no tiene nada que ver con la nueva línea entre los elementos, ya que eliminar la nueva línea no soluciona la selección de espacio adicional.
Probablemente ya hayas visto este grupo de Google, pero de lo contrario podría ser útil: https://productforums.google.com/forum/#!topic/chrome/zQKXGA95I4k
No es realmente por el mismo problema, pero parece que hay una diferencia en el comportamiento entre los diferentes sistemas operativos.
No puedo probarlo ahora, pero tal vez exista el mismo comportamiento para su preocupación.
Según lo sugerido por @ Brendan , es debido a los caracteres de línea newLine
.
Intenta crear una página HTML ficticia con el siguiente html y prueba,
<html>
<body>
<h1>Hello world</h1>
</body>
</html>
y luego agrega otro elemento y vuelve a intentarlo
<html>
<body>
<h1>Hello world</h1>
<span>Test</span>
</body>
</html>