我已经预先格式化了带有换行符和多空格的字符串,我想将它们附加到文本节点中。
<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 中,第二行开头的空间令人恐惧\n\r
总的来说还可以,但是在 IE 中,第一行末尾的空格对于我的布局来说是不可接受的。
我不能使用<br>
和 innerHTML,因为 IE 会折叠多个空格。
jQuery.text(string)
具有完全相同的行为.appendChild(createTextNode(string))
如何插入跨浏览器换行符?
最终,我怎样才能轻松检测浏览器是否支持\n
或\r
?