TinyMCE无法获得财产' setContent'未定义或空引用

时间:2016-02-04 20:59:09

标签: javascript jquery tinymce

我知道这个主题在这里已被多次讨论,但无论采取哪种方法,我都会收到错误,例如"无法获得属性' setContent'未定义或空引用"或者行执行但没有任何反应。

这是我所知道的。 tinymce初始化并且是一个有效的对象。 html变量具有从父窗口获取的propper HTML。 jQuery已加载并正常运行。

除了下面的代码,我也试过了。

tinyMCE.activeEditor.setContent(html);
tinymce.editors[0].setContent(html);
$('textarea#XRMeditor').val(html);  * Before initialization 

我已尝试过tinymce初始化之前和之后的所有方法(以防万一)。

<!DOCTYPE html>
<html>
<head>

          <script src="sage_jquery.min.js" type="text/javascript"></script>
          <script src="tinymce_/tinymce.min.js" type="text/javascript"></script>

  <script>
      var html = window.parent.document.getElementById("descriptionIFrame").contentDocument.getElementsByTagName('body')[0].innerHTML;
      debugger;
      //$('textarea#XRMeditor').val(html);
      tinymce.init({
          selector: 'textarea#XRMeditor'
});
      tinymce.get('XRMeditor').setContent(html);

  </script>
</head>
<body>
  <textarea id="XRMeditor">Easy (and free!) You should check out our premium features.</textarea>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

我怀疑这个问题是你在TinyMCE初始化页面之前试图与之交谈。

您的get()电话是您页面的首部,我怀疑当浏览器处理您的脚本时TinyMCE已初始化。你可以使用&#34; init&#34;发生此调用时延迟的处理程序:

tinyMCE.init({
  //your regular init parameters here...
  setup: function(editor) {
    editor.on('init', function() {
      //load your content here!
      tinymce.activeEditor.setContent(html);
      //or
      tinymce.editors[0].setContent(html);
    });
  }
});