Подождите, пока TinyMCE загрузит

У меня есть две строки кода один за другим.

tinymce.execCommand('mceAddControl',true,'email_body');
tinyMCE.activeEditor.setContent(data.tplCustom.htmltemplate);

Вторая строка пытается установить контент еще до того, как будет выполнен тинимент. Я думаю, причина в том, что я получаю ошибку "tinyMCE.activeEditor null".

Есть ли способ подождать до его загрузки? Благодаря

Ответы

Ответ 1

Версия 4 TinyMCE использует несколько другой метод привязки событий.

Версия 3

// v3.x
tinymce.init({
    setup : function(ed) {
        ed.onInit.add(function(ed) {
            console.debug('Editor is done: ' + ed.id);
        });
    }
});

Версия 4

// v4.x
tinymce.init({
    setup: function (ed) {
        ed.on('init', function(args) {
            console.debug(args.target.id);
        });
    }
});

Ссылка: http://www.tinymce.com/wiki.php/API3:event.tinymce.Editor.onInit http://www.tinymce.com/wiki.php/Tutorial:Migration_guide_from_3.x

Ответ 2

Если вы не можете получить доступ к объявлению tinymce.init({...}) (например, в WordPress), вы также можете использовать событие addeditor:

  /// Fires when an editor is added to the EditorManager collection.
  tinymce.on('addeditor', function( event ) {
    var editor = event.editor;
    var $textarea = $('#' + editor.id);
    console.log($textarea.val());
  }, true );

Документация событий TinyMCE 'additor