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