我在 asp.net 应用程序中使用 TinyMCE,并在服务器上设置 textareas 的内容。问题是,一旦页面加载,我们会在 textareas 中看到原始 HTML 片刻,直到编辑器被初始化。我尝试在 textareas 上设置 display:none,然后在 oninit 例程中的每个文本区域上调用 .next().show() ,这有效,除了编辑器不是他们需要的大小(可能是因为底层初始化编辑器时 textarea 被隐藏了?)
其他人是如何解决这个问题的?
谢谢
您可以保存 textarea 内容,然后将其设置为空并在编辑器初始化后重置 tinymce 内容:
var content = $('textarea_id').html();
$('textarea_id').html('');
tinyMCE.init({
...
setup : function(ed) {
ed.onInit.add(function(ed, evt) {
ed.setContent(content);
});
},
...
});
我刚刚遇到了这个问题,并决定将我的解决方案保留如下:
//Before loading, hide textarea element using visibility='hidden' so that the space the element takes will be maintained
document.querySelector('.editor').style.visibility = 'hidden';
tinyMCE.init({
editor_selector: "editor",
setup: function (ed) {
ed.onInit.add(function (ed, evt) {
//show the element again now that the editor is loaded.
document.querySelector('.editor').style.visibility = 'visible';
});
}
});