Bernhard B: Formatierung

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

  1. 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

  2. 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 &nbsp; oder &#160; oder ggf. CSS mit white-space: pre bzw. bei XML-Dokumenten xml:space="preserve".

    MfG, Thomas