Chrome は貼り付け時にスペースを圧縮します

Chrome は貼り付け時にスペースを圧縮します

このredditor貼り付け時に 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 はユーザーの明確な指示を尊重していません。

この動作を防ぐ、または回避する方法はありますか?


Linux 上の Chrome 65 に関するその他の調査結果:

X選択コピーバッファ(選択、中クリック)を使用すると、入力に貼り付けるときにスペースが保持されますwindow.prompt。ただし、スペースはないアドレスバーに貼り付けるときに保持されます。

window.promptctrl+c、ctrl+v を使用すると、どちらにもアドレスバーにもスペースは保持されません。


コメント投稿者によると、この動作は OSX では発生しないそうです。

関連情報