下载的文件不包含适当的中断 - 保持br

时间:2017-06-14 19:15:13

标签: javascript html

我有一个下载脚本,它接受用户输入,生成具有特定换行符的特定文件,然后输出该文件并提示用户下载。

    function download(filename, text) {
        var element = document.createElement('a');
        element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
        element.setAttribute('download', filename);

        element.style.display = 'none';
        document.body.appendChild(element);

        element.click();

        document.body.removeChild(element);
    }

    download('test.txt', toExport);

然而toExport包含大量<br/>。 我怎样才能在文本文件中看到这个?目前它们只是显示为<br >而实际上并没有出现。

2 个答案:

答案 0 :(得分:2)

您必须使用换行符<br>替换所有\n<br />标记只能在浏览器中使用,普通编辑器会将其作为常规文本读取。

答案 1 :(得分:-1)

显然,you can't with a textarea。但你可以使一个元素可编辑,并以这种方式进行。

&#13;
&#13;
let editable = document.querySelector('.editable');

function html() {
  console.log(editable.innerHTML);
}

function text() {
  console.log(editable.innerText);
}
&#13;
.editable {
  height: 100px;
  width: 300px;
  border: 1px dotted black;
}
&#13;
<div class="editable" contentEditable="true">Lorem 
Ipsum

Dollar
</div>
<div>
  <button onclick="html()">HTML</button>
  <button onclick="text()">Text</button>
</div>
&#13;
&#13;
&#13;