如何判断tinyMCE是否已启动?

时间:2011-06-09 02:10:10

标签: javascript tinymce

我在JQuery的多个标签中启动了这样的tinyMCE:Tab。但我发现初始化tinyMCE多次产生只读文本区域。因此,我想检查tinyMCE是否已经启动。是否有类似isInitated()的方法或类似方便的方法?

tinyMCE.init({
    mode : "textareas",
    theme : "simple",
    width : "500",
    height : "300"
});

7 个答案:

答案 0 :(得分:24)

您可以使用tinymce.editors.length查看是否已初始化编辑器实例(tinymce.editors.length > 0)。

答案 1 :(得分:19)

我知道这个问题已经过时了,但是......如果有人还在寻找圣杯:

在tinymce 4中,您可以将回调传递给tinyMCE.init,如下所示:

tinyMCE.init({
  //your regular parameters here...
  setup: function(editor) {
    editor.on('init', function() {
      //all your after init logics here.
    });
  }
});

答案 2 :(得分:4)

您可以将init_instance_callback添加到init()参数。当tinymce实例已经被引入时,将调用此回调。

答案 3 :(得分:1)

我使用的是tincyMCE 4.7.2
我尝试了@Thariama的答案,它对我不起作用,我猜是因为他的答案对于旧版本的tinyMCE有效。

这是对我有用的(同样,根据您正在处理的版本,这对您没有帮助)

if (tinymce.initialized === true)

答案 4 :(得分:0)

检查" tinyMCE"设置只是使用这个:

if(typeof(tinyMCE) != "undefined") {}

答案 5 :(得分:0)

尝试一下:

if (typeof(tinymce.activeEditor.contentDocument) !== "undefined") {
 // initialized
}

答案 6 :(得分:0)

我为此找到了其他解决方案。

假设您有元素

<textarea id="tinymce0"></textarea>

现在让我们说您将其初始化:

let config  = { selector : '#tinymce0'};
tinymce.init(config);

之后,您可以执行以下操作:

let tinmyMceInstance = tinymce.get('tinymce0');
if( tinmyMceInstance === null ){
  // Your code if not initialized
}

请记住:

  • 这仅适用于id,似乎对get()使用 classname 无效

适用于:

{
     releaseDate: "2019-05-09",
     majorVersion: "5",
     minorVersion: "0.5",
}

所以可能是: 5.5