Formatierung
Bernhard B
- javascript
Hallo!
In allen Javascript Handbüchern und Tutorials steht, dass Strings mit den Sonderzeichen \n, \t ,,,,usw. formatiert werden können. Auch Unicode funktioniert nicht wie erwartet.Ein Versuch mit document.write schlägt fehl! Z. B.
<script type="text/javascript">
document.writeln("text1"+"\n\t"+"<cr>"+"<tab>"+"<ht>"+" "+"text2\n\t text3");
document.write("text4\u000A\u0027\u0009\u0009text5");
</script>
gibt als Ausgabe
text1" text2\ text3text4 ' text5
Immerhin wurde ",\ und \u0027 berücksichtigt. \n, "<cr>"+"<tab>"+"<ht>" und die anderen Unicodes wurden ignoriert. Ebenso die Leerzeichen, die als String eingefügt wurden. (Fpr einen der sonst mit C/C++ arbeitet geradezu unglaublich.)
Offensichtlich gelten diese Formatierungszeeichen seltsamerweise nur für Strings in den window-objekten? Das steht aber nirgendwo!
Da sehe ich eine Dokumentationslücke. Wo gibt es verlässliche Infos, welche Formatierungszeichen wo und wann gelten?
Mit besten Grüßen
Bernhard
Hallo Bernhard,
ich denke die Formatierungszeichen funktionieren schon, allerdings siehst du dir das Ergenis - so vermute ich - in einem Webbrowser an.
In einem Webbrowser funktionieren nur die Formatierungszeichen von HTML. Also bspw. für einen Zeilenumbruch ein: <br>
Schönen Gruß
Stephan
Hallo,
document.write("text4\u000A\u0027\u0009\u0009text5");
Das entspricht document.write("text4"+String.fromCharCode(10,39,9,9)+"text5");
mit dem Ergebnis text4 ' text5
Whitespace (Zeilenumbrueche, Tabs, mehrere LZ) wird beim Ausgeben im HTML-Kontext normalisiert. Verwende also <br>, mehrere oder   oder ggf. CSS mit white-space: pre bzw. bei XML-Dokumenten xml:space="preserve".
MfG, Thomas