Есть ли способ получить строку html объекта диапазона JavaScript в браузерах, совместимых с W3C?
Например, скажем, пользователь выбирает следующее: Hello <b>World</b>
В качестве строки можно использовать "Hello World", используя метод Range.toString().
(В Firefox это также возможно с помощью метода документа getSelection.)
Но я не могу найти способ получить внутренний HTML.
После некоторого поиска я обнаружил, что диапазон может быть преобразован в объект DocumentFragment.
Но DocumentFragments не имеет свойства innerHTML (по крайней мере, в Firefox, не пробовал Webkit или Opera).
Что мне кажется странным: было бы очевидно, что должен быть какой-то способ доступа к выбранным предметам.
Я понимаю, что я могу создать DocumentFragment, добавить фрагмент документа к другому элементу, а затем получить innerHTML этого элемента.
Но этот метод автоматически закрывает любые открытые теги в выбранной области.
Кроме того, существует очевидный "лучший способ", чем привязать его к dom, чтобы получить его как строку.
Итак, как получить строку html диапазона или DocFrag?