Chrome 粘贴时挤压空格

Chrome 粘贴时挤压空格

这位 Reddit 用户发现 Chrome 在粘贴时有一个有趣的用户体验行为。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。但是,空格不是粘贴到地址栏时保留。

使用 ctrl+c、ctrl+v,空格都不会在window.prompt地址栏中保留。


评论者报告说,这种行为在 OSX 中并不存在。

相关内容