Este redditor encontrou um comportamento interessante no Chrome UX ao colar. O Chrome reduz os espaços quando colado na barra de endereço ou em window.prompt
. Mas não esmaga quando colando em campos de entrada ou no console.
Aqui está um snippet executável com entradas e saídas de amostra.
No Chrome:
input | typed | copy/pasted
"h e l l o w o r l d" | 9 spaces | 9 spaces
"hello world" | 9 spaces | 1 spaces
No Firefox:
input | typed | copy/pasted
"h e l l o w o r l d" | 9 spaces | 9 spaces
"hello world" | 9 spaces | 9 spaces
var str = window.prompt('Enter a few spaces.');
var spaces = (str.match(/ /g) || []).length;
console.log('You entered ${spaces} spaces');
Esse comportamento é documentado em qualquer lugar no Chrome? Não consigo encontrar isso através de uma pesquisa superficial. Isso deve ser considerado um bug do Chrome? Por um lado, pode ser interessante segurar certos usuários, mas, por outro lado, o Chrome não está respeitando as instruções explícitas dos usuários.
Existe uma maneira de evitar esse comportamento ou contornar o problema?
Mais descobertas, no Chrome 65 no Linux:
Usando o recurso de buffer de cópia de seleção X (selecionar, clique do meio), os espaços são preservados ao colar em uma entrada window.prompt
. Mas os espaços não são preservados ao colar na barra de endereço.
Usando ctrl + c, ctrl + v, os espaços não são preservados em window.prompt
nem na barra de endereço.
Comentadores relatam que esse comportamento não está presente no OSX.