我有一个文件选择器,想要加载选择到tinyMCE编辑器文本区域中的HTML和XML文件。
我有以下代码,但它不起作用。
<script type="text/javascript">
tinymce.init({
selector: 'textarea', // change this value according to your HTML
height: 400,
browser_spellcheck: true,
plugins: "code,table,textcolor,save,preview,searchreplace,advlist,textcolor,hr,fullscreen",
toolbar: [
'save | undo redo | styleselect | fontsizeselect | bold strikethrough italic forecolor backcolor | link image | alignleft aligncenter alignright | numlist bullist | indent outdent | table | code | fullscreen'
],
file_browser_callback: function(field_name, url, type, win) {
win.document.getElementById(field_name).value = 'editor';
console.log(win.document.getElementById(field_name).value);
},
save_onsavecallback: function () {
var doc = tinymce.get('content').getDoc();
console.log('Content: ', doc);
}
});
</script>
文本区域看起来像这样:
<textarea class="form-control" id="editor"></textarea>
准确地说,发生的事情是这样的。我看到一个文件选择器,但是当我单击打开文档时,所选文件不会输入到文本区域中。
下面的图片。
If i were to open one of these files they would not be in tinymce textarea...
最佳答案
根据您对我的评论的最后回复,您不需要 TinyMCE 文件选择器功能 - 您需要构建一个 UI,允许选择文件、上传文件,然后发送文件的 HTML 表示形式返回浏览器,以便您可以通过 setContent()
API 将该 HTML 插入编辑器。
我将使用自定义工具栏按钮打开一个“对话框”,它实际上是一个带有文件选择 UI 的单独 HTML 页面。选择文件后,您可以将其发布到您的服务器。服务器可以根据需要打开/处理文件并将 HTML 结果发送回您的“对话框”。然后,“对话框”可以使用 TinyMCE setContent()
API 将数据加载到编辑器中。
简单的文件选择器并不能满足您的所有需求。
关于javascript - 将文件加载到tinyMCE编辑器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43458042/