У меня есть предварительно отформатированные строки с разрывами строк и несколькими пробелами, и я хочу добавить их в текстовый узел.
<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 пробел в конце конец первой строки неприемлем для моего макета.Я не могу использовать
и innerHTML, потому что IE сворачивает мульти-пробелы.
jQuery .text(string)
ведет себя точно так же, как .appendChild(createTextNode(string))
Как вставить разрывы строк в разных браузерах?
В конце концов, как я могу легко определить, поддерживает ли браузер \n
или \r
?