Dieser Redditorhabe ein interessantes Chrome UX-Verhalten beim Einfügen gefunden. Chrome quetscht Leerzeichen zusammen, wenn sie in die Adressleiste oder in eingefügt werden window.prompt
. Beim Einfügen in Eingabefelder oder in die Konsole geschieht dies jedoch nicht.
Hier ist ein ausführbarer Codeausschnitt mit Beispiel-Ein- und -Ausgaben.
Unter 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
Unter 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`);
Ist dieses Verhalten irgendwo in Chrome dokumentiert? Ich kann es bei einer flüchtigen Suche nicht finden. Sollte dies als Chrome-Fehler betrachtet werden? Einerseits könnte es nett sein, bestimmte Benutzer an die Hand zu nehmen, andererseits beachtet Chrome die expliziten Anweisungen der Benutzer nicht.
Gibt es eine Möglichkeit, dieses Verhalten zu verhindern oder zu umgehen?
Weitere Erkenntnisse zu Chrome 65 unter Linux:
Mit der Funktion „X-Auswahl-Kopierpuffer“ (Auswählen, mittlerer Klick) bleiben die Leerzeichen beim Einfügen in eine window.prompt
Eingabe erhalten. Aber die Leerzeichen sindnichtbeim Einfügen in die Adressleiste erhalten.
Bei Verwendung von Strg+C, Strg+V bleiben Leerzeichen weder in window.prompt
der Adressleiste noch in der Adressleiste erhalten.
Kommentatoren berichten, dass dieses Verhalten bei OSX nicht auftritt.