이 레딧 사용자붙여넣기에서 흥미로운 Chrome UX 동작을 발견했습니다. Chrome은 주소 표시줄이나 에 붙여넣을 때 공백을 압축합니다 window.prompt
. 그러나 입력 필드나 콘솔에 붙여넣을 때 스쿼시되지 않습니다.
다음은 샘플 입력 및 출력이 포함된 실행 가능한 코드 조각입니다.
크롬에서:
input | typed | copy/pasted
"h e l l o w o r l d" | 9 spaces | 9 spaces
"hello world" | 9 spaces | 1 spaces
파이어폭스의 경우:
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은 사용자의 명시적인 지시를 존중하지 않습니다.
이 동작을 방지하거나 해결하는 방법이 있습니까?
Linux의 Chrome 65에 대한 추가 결과:
X 선택 복사 버퍼 기능(선택, 가운데 클릭)을 사용하면 입력에 붙여넣을 때 공백이 유지됩니다 window.prompt
. 하지만, 공백은~ 아니다주소 표시줄에 붙여넣을 때 보존됩니다.
window.prompt
Ctrl+C, Ctrl+V를 사용하면 주소 표시줄이나 주소 표시줄 모두에서 공백이 유지되지 않습니다 .
댓글 작성자는 이 동작이 OSX에 존재하지 않는다고 보고합니다.