我的tinymce工作正常但是setcontent只有在加载一次后才能工作(它没有内容)但是在你关闭并重新打开之后,它就是内容。
JS:
tinymce.remove();
tinymce.init({ selector: 'textarea' });
tinyMCE.activeEditor.setContent(r.htmleditorcontent);
第一次加载时出现错误:
TypeError: n.parser is undefined
..."SetContent",t)):("raw"!==t.format&&(e=new s({validate:n.validate},n.schema).ser...
错误仅在首次加载时发生
答案 0 :(得分:2)
如果您想在页面加载时将内容加载到TinyMCE中,您可以使用setContent函数来执行此操作...但您需要确保在尝试使用setContent()
之前初始化TinyMCE。在您的示例中,您调用init
,然后立即调用setContent()
,而不检查编辑器是否已加载。
执行所需操作的最佳方法是将代码加载到TinyMCE的配置对象中。例如:
tinymce.init({
...
setup: function (editor) {
editor.on('init', function () {
this.setContent("<p>My new content</p>");
});
}
...
});
在编辑器完成初始化之前,不会调用init
函数,因此在调用setContent()
代码之前,您确定一切准备就绪。
我还会注意到您的代码使用tinymce.activeEditor
- 它返回“当前活动的编辑器实例”。在有人单击编辑器以使用它之前,您没有活动的编辑器实例,因此可能在代码运行时没有活动编辑器。使用init可确保您可以通过this
定位特定的TinyMCE实例。