javascript - 将文件加载到tinyMCE编辑器中

标签 javascript jquery tinymce

我有一个文件选择器,想要加载选择到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>

准确地说,发生的事情是这样的。我看到一个文件选择器,但是当我单击打开文档时,所选文件不会输入到文本区域中。

下面的图片。

Image of file choser

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/

相关文章:

javascript - 保存后,TinyMCE 将从我的内容中删除加号

php mysql html 标签

javascript - Django CreateView 未在提交表单时创建

javascript - 在两个功能之间切换

复选框的 jQuery 验证插件 errorPlacement

jquery - 仅更改某个类的一个元素的更简单方法

jquery - 如何在jquery中选择基于一种样式属性的元素?

javascript - 在 if 语句和 for 循环中编辑 CSS 类

javascript - 使用 Javascript 进行部分回发

javascript - 主屏幕持久性上的 iPhone WebApp