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

时间:2016-10-03 21:02:12

标签: javascript jquery html tinymce

我使用LocalStorage将文本从第1页传递到第2页。 Page2 textarea使用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>

1 个答案:

答案 0 :(得分:1)

如果您想在页面加载时将内容加载到TinyMCE中,您可以使用setContent函数来执行此操作...但您需要确保在尝试使用{{1}之前初始化TinyMCE }。

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

setContent

使用tinymce.init({ ... setup: function (editor) { editor.on('init', function () { var dataFromLS = <code to get the HTML from local storage>; this.setContent(dataFromLS); }); } ... }); 的基本方法是将HTML传递给方法的唯一参数。如果您拥有本地存储中的数据,只需先将其抓取到JS变量中,然后执行以下操作:

setContent()

请注意,在上面提供的init示例中,您可以将编辑器实例称为var dataFromLS = <code to get the HTML from local storage>; tinymce.get('wo_scope').setContent(dataFromLS); 。您也可以根据您用TinyMCE替换的this的ID来获取它。一个更完整(正确)的例子可以做这样的事情:

<textarea>

tinymce.get('wo_scope').setContent(datafromLS); 方法适用于TinyMCE的特定实例,因此您需要拥有一个才能调用setContent()。我上面的示例显示了使用setContent()获取该实例的get()和初始化的两种方法。

注意:在上面的一条评论中,您使用this - 只有在您点击TinyMCE编辑器实例时才有效 - 这使得它成为&#34;活跃的&#34;编辑。如果你在页面加载时这样做,你几乎肯定还没有活跃的编辑器。