Этот реддитор обнаружил интересное поведение Chrome UX при вставке. Chrome стирает пробелы при вставке в адресную строку или в window.prompt
. Но не сдавливает при вставке в поля ввода или в консоли.
Вот исполняемый фрагмент с примерами входов и выходов.
На 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
На 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`);
Задокументировано ли это поведение в Chrome? Я не могу найти это через беглый поиск. Следует ли это считать ошибкой Chrome? С одной стороны, было бы неплохо держать некоторых пользователей за руки, но с другой стороны, Chrome не соблюдает четкие инструкции пользователей.
Есть ли способ предотвратить это поведение или обойти?
Дополнительные сведения о Chrome 65 в Linux:
Используя элемент буфера копирования выделения X (select, нажатие средней кнопкой мыши), пробелы сохраняются при вставке во ввод window.prompt
. Но пробелы не сохраняются при вставке в адресную строку.
При использовании ctrl+c, ctrl+v пробелы не сохраняются ни в window.prompt
ни в адресной строке.
Комментаторы сообщают, что такого поведения нет в OSX.