TinyMCE / FileReader:读取文本文件后缺少换行符

时间:2017-02-21 11:19:30

标签: javascript html formatting tinymce filereader

我尝试创建一个自定义按钮来读取文本文件。这就是我到目前为止所得到的:

<textarea id="editor"></textarea>
<div id="testdiv"></div>
<pre id="testpre"></pre>
<textarea id="testta"></textarea>

<script>
    tinymce.init({
        selector: "textarea#editor",
        toolbar : "txtupload",
        setup: function(editor) {
            var inp = $('<input id="uploader" type="file" accept="text/plain" style="display:none">');
            $(editor.getElement()).parent().append(inp);

            var fileInput = document.getElementById("uploader");

            fileInput.addEventListener("change",function(e){
                var file = fileInput.files[0];
                var reader = new FileReader();
                reader.onload = function(e) {
                    var txt = reader.result;
                    console.log("text is:\n" + txt);
                    editor.insertContent(txt);
                    document.getElementById("testdiv").textContent = txt;
                    document.getElementById("testpre").textContent = txt;
                    document.getElementById("testta").textContent = txt;
                 };
                 reader.readAsText(file);
            });

            editor.addButton("txtupload", {
                text:"Text",
                icon: false,
                onclick: function(e) {
                    inp.trigger('click');
                }
            });
        }
    });
</script>

我的问题是我错过了TinyMCE-textarea中的换行符。我试图改变“编辑元素”(即我将textarea改为div和pre),但结果是一样的。举例来说,这是一张说明我问题的图片:tinymce_example

1 个答案:

答案 0 :(得分:1)

\n替换为<br/>可以解决此问题。感谢Amir Popovich and faboolous