Wordpress中的tinymce编辑器getContent null

时间:2017-04-20 13:35:22

标签: javascript jquery wordpress tinymce

我试图在WordPress管理区域中使用Tinymce编辑器的getContent功能,但无济于事。

这是我想要做的工作笔

https://codepen.io/anon/pen/oWxjyM?editors=1111

HTML

<textarea class="wp-editor-area" rows="20" autocomplete="off" cols="40" name="wprss_ftp_post_prepend" id="wprsspostprepend">&lt;p&gt;To give is good&lt;/p&gt;</textarea>

JS

jQuery(document).ready(function() {
  $("#wprsspostprepend").addClass("prepend_editor");
var name = "wprsspostprepend";
if($("#" + name).length > 0) {

  tinyMCE.init({
        mode : "specific_textareas",
        editor_selector : "prepend_editor"  
});
   var content =  tinyMCE.activeEditor.getContent();
  alert(content);
    tinyMCE.activeEditor.setContent("<div id='random-wrap'>" + content + "</div>");
}
 });

为什么我在Wordpress中获得null引用错误,如果它在codepen中工作。

1 个答案:

答案 0 :(得分:4)

这里的问题可能是init()方法是异步的。您似乎在调用tinymce后立即尝试使用tinymce.activeEditor对象(例如init())但初始化过程可能尚未完成,因此页面上没有“活动”编辑器

如果您希望在“可用时尽快”与编辑器进行交互,则可以在TinyMCE init()调用中使用onInit触发器。例如:

tinymce.init({
  selector: '#myTextArea",
  setup: function (editor) {
    editor.on('init', function () {
      this.setContent('<p>Add content via on init!</p>');
    });
  }
});