改行とマルチスペースを使用して文字列を事前にフォーマットしており、それらをテキスト ノードに追加したいと考えています。
<pre id="bar"></pre>
<script>
var string = "Preformatted"
+ "\n" // \r, \r\n, \n\r or what else?
+ "multispace string";
var text = document.createTextNode(string);
document.getElementById('bar').appendChild(text);
</script>
ラインブレーカーとして採用しようとしました:
\n
すべてのブラウザーで改行しますが、IE (私は 7 でテストしています) ではスペースになります\r
IE でのみ改行します\r\n
すべてのブラウザで動作しますが、IE では 2 行目の先頭のスペースが恐ろしいです\n\r
全体としても問題ありませんが、IE では、最初の行の最後のスペースは私のレイアウトには受け入れられません。
<br>
IE はマルチスペースを折りたたむため、innerHTMLは使用できません。
jQuery.text(string)
の動作はまったく同じです。.appendChild(createTextNode(string))
クロスブラウザーの改行を挿入するにはどうすればよいですか? 最終的に、ブラウザがまたは
をサポートしているかどうかを簡単に検出するにはどうすればよいですか?\n
\r