检查TinyMCE在WordPress中是否处于活动状态的方法

Dan*_*ber 14 javascript wordpress tinymce

我正在开发一个插件,当TinyMCE用作Visual编辑器时,使用TinyMCE命令将文本插入到正文内容编辑区域.目前,只需运行该命令即可.如果它工作,那么TinyMCE是活动的,如果没有,那么我有自定义JS用于HTML编辑器.

然而,我的问题是:有没有办法检查TinyMCE是否处于活动状态而不仅仅是运行命令并且当它不是时它会失败?

Dan*_*ber 24

而且......我已经为自己回答了这个问题.您要测试的条件如下:

is_tinyMCE_active = false;
if (typeof(tinyMCE) != "undefined") {
  if (tinyMCE.activeEditor == null || tinyMCE.activeEditor.isHidden() != false) {
    is_tinyMCE_active = true;
  }
}
Run Code Online (Sandbox Code Playgroud)

诀窍是tinyMCE.activeEditor在未激活TinyMCE时返回null.您可以使用该isHidden()方法确保在切换回HTML编辑器模式时它没有执行.

这在TinyMCE网站和论坛上的记录很少.


小智 7

是的,我在wordpress上看到了这个代码:ABSPATH/wp-includes/js/autosave.js文件

// (bool) is rich editor enabled and active
var rich = (typeof tinyMCE != "undefined") && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden();
Run Code Online (Sandbox Code Playgroud)