javascript - 需要帮助了解如何在 TinyMCE 中使用 setContent() 函数

标签 javascript jquery html tinymce

我使用 LocalStorage 将文本从第 1 页传递到第 2 页。第2页文本区域使用TinyMCE编辑器。我在 Tiny 网站上发现了这个功能,我认为它就是为此目的而设计的。然而我对 Javascript 很陌生,无法让它工作。有什么帮助吗?

TinyMCE page and function:

我的 HTML:

<div class=" form-group">
        <div class="col-sm-2 col-md-2"><label for="work">Scope of Work:</label></div>
        <div class="col-sm-10 col-md-10"><textarea id="wo_scope" class="form-control tinymce " rows="5" placeholder="Required / Maximum 500 characters" name="work" cols="50"></textarea></div>
    </div>

最佳答案

如果您想在页面加载时将内容加载到 TinyMCE 中,您可以使用 setContent函数来做到这一点...但您需要确保 TinyMCE 在尝试使用 setContent 之前已初始化.

最好的方法是将加载内容的代码放入 TinyMCE 的配置对象中。例如:

tinymce.init({
  ...
  setup: function (editor) {
    editor.on('init', function () {
        var dataFromLS = <code to get the HTML from local storage>;
        this.setContent(dataFromLS);
    });
  }
  ... 
});

基本使用方法setContent()只是将 HTML 传递给 is 作为该方法的唯一参数。如果本地存储中有数据,只需先将其放入 JS 变量中,然后执行如下操作:

var dataFromLS = <code to get the HTML from local storage>;
tinymce.get('wo_scope').setContent(dataFromLS);

请注意,在我上面提供的 init 示例中,您可以将编辑器实例引用为 this 。也可以根据<textarea>的ID获取您可以用 TinyMCE 替换它。一个更完整(正确)的示例可以执行以下操作:

tinymce.get('wo_scope').setContent(datafromLS);

setContent()方法适用于 TinyMCE 的特定实例,因此您需要先拥有一个实例,然后才能调用 setContent() 。我上面的示例显示了获取该实例 get() 的两种方法并在 init 中使用 this .

注意:在上面的评论中,您使用 tinymce.activeEditor - 仅当您单击进入 TinyMCE 编辑器实例时才有效 - 这使其成为“事件”编辑器。如果您在页面加载时执行此操作,那么您几乎肯定还没有事件的编辑器。

关于javascript - 需要帮助了解如何在 TinyMCE 中使用 setContent() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39840376/

相关文章:

javascript - 在 Webpack 中获取 "Cannot resolve module ' aws-sdk' ,'child_process' ,'net' "in/node_modules/watchpack

javascript - 我的列表项几乎完全隐藏,在页面加载时设置我的列表列的高度

jQuery:将内联元素插入 DOM

javascript - 仅在尚未加载 js 脚本时才加载它,然后仅加载一次

javascript - 像图像旋转一样旋转 SVG 元素

javascript - 保护元素不受全局 CSS 影响

jquery - 使用 blueimp jQuery-File-Upload 上传时如何更改文件名?

单击 Restore Down 按钮时 HTML 元素宽度发生变化

angularjs - HTML5 原生 DragEnter/DragLeave 事件交替触发

javascript - 修改SVG路径元素的 "d"属性以将其向左移动9个像素?