Я хочу вернуть текст, который я выбираю в элементе, используя объект Range, предоставленный разновидностью javascript от Mozilla.
Итак, я делаю это:
//assume that I'm only using Firefox, and there is just one selection
var range = window.getSelection().getRangeAt(0);
var rangeText = range.toString();
Это работает нормально, когда html выделенного текста не содержит новых строк. Другими словами, если у меня есть следующий html:
<div>One. Two. Three. Four. Five.</div>
и я выбираю Два. Три. Четыре., значит все нормально.
С другой стороны, если у меня есть
<div>
One.
Two.
Three.
Four.
Five.
</div>
и я выбираю Два. Три. Четыре. как и раньше, в результат, возвращаемый функцией Range.toString(), вводятся новые строки; новые строки идут после двух, трех и четырех.
Очевидно, что при отображении в браузере оба фрагмента html идентичны. Есть ли способ гарантировать, что тот же текст будет возвращен без новой строки?