我知道这个主题在这里已被多次讨论,但无论采取哪种方法,我都会收到错误,例如"无法获得属性' 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>
答案 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);
});
}
});