tinymce setcontent仅在第二次加载时加载

时间:2016-10-04 09:42:22

标签: javascript jquery tinymce

我的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...

错误仅在首次加载时发生

1 个答案:

答案 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实例。