2

Этот реддитор обнаружил интересное поведение 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.

0