Сообщение от Aetae
|
Только костылить разве что как-то хитро.
|
Ничего хитрого. Просто взять range.cloneContents(), да и обойти его рекурсивно. С текстовых узлов брать data (или как его там), с картинок - alt, теги br заменить на переносы строк, границы блочных элементов - тоже.
Хотя последнее, кстати, не так просто. Стили-то отвалятся у контента. Если это критично, то придется без cloneContents. А именно, делать обход от startContainer до endContainer, причем следующая нода берется так:
nextNode = node.firstChild || node.nextSibling || node.parentNode.nextSibling || node.parentNode.parentNode.nextSibling || ...
(цикл по парентнодам)