用内容初始化tinymce

M. *_*age 7 javascript tinymce tinymce-4

我有一个包含一个tinymce4编辑器实例的页面.我想用编程方式用一些内容初始化这个编辑器.我知道我必须打电话:tinymce.get('editor').setContent('my content');

但是,当tinymce初始化时,我很难做到这一点.这个问题已经被提出:用默认内容初始化tinyMCE,但当时给出的答案不起作用,至少对于tinymce4.

这是我尝试过的:

第一次尝试:

    tinymce.init({
      mode: "textareas",
      ...
      setup: function (editor) {
         ...
         editor.setContent('my content');
      }
   });
Run Code Online (Sandbox Code Playgroud)

- >未捕获的TypeError:无法读取未定义的属性"body"

第二次尝试:

    tinymce.init({
      mode: "textareas",
      ...
    };
    tinymce.get('editor').setContent('my content');
Run Code Online (Sandbox Code Playgroud)

- > Uncaught TypeError:无法读取null的属性'setContent'(但是如果我在加载了包含tinymce编辑器的页面时执行此操作,则可以正常工作).

第3次尝试(SO 12083361答案):

$(document).ready(function(){
    tinymce.get('editor').setContent('my content');
});
Run Code Online (Sandbox Code Playgroud)

- > Uncaught TypeError:无法读取null的属性'setContent'

所有这一切都失败了tinymce.activeeditor.setContent('my content');.

我应该tinymce.get('editor').setContent('my content');在哪里放置代码才能使其正常工作?

Don*_*ius 9

使用版本4,你应该这样做:

tinymce.init({selector:'textarea'});
tinymce.activeEditor.setContent('custom');
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴.

  • 这很好......但是当页面上有多个需要单独定位的编辑器时缺少:-( (2认同)