假设我有一个可信的div,并将此文本作为输入
<div id="board" contenteditable="true">
<div>ab</div>
<div> cd</div>
<div></div>
<div>e f</div>
</div>
JS
var text = "";
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
sel.selectAllChildren(el);
text = sel.toString();
sel.removeAllRanges();
}
else if (document.body.createTextRange) {
var textRange = document.body.createTextRange();
textRange.moveToElementText(el);
text = textRange.text;
}
警告text
将为我提供所需的格式(使用新行和空格)。但是当我使用filesaver.js
保存它时,文本文件中会丢失新行。在保存之前我将如何操作文本?
答案 0 :(得分:1)
text = sel.toString();
返回什么?如果您希望文本“可以换行”,则必须在某些时候包含\r\n
。
如果sel.selectAllChildren(el);
返回一个集合,则必须迭代它。 text = sel.toString()
可以使用空分隔符加入所有值,例如“”。您的分隔符必须为\r\n
。
配方如下:
#board's div children
text value
yourArray.join('\r\n')