有同样的问题,这是我如何解决它...
创建问题
我使用jquery移动包含tinymce编辑器的dom元素,导致它丢失所有内容:
$('.form-group:last').after($('.form-group:first'))
Run Code Online (Sandbox Code Playgroud)
在此之后,编辑器的iframe内容将被删除.
解决方案
var textareaId = 'id_of_textarea';
tinyMCE.get(textareaId).remove();
tinyMCE.execCommand("mceAddEditor", false, textareaId);
Run Code Online (Sandbox Code Playgroud)
有时编辑器会将iframe添加回来,但不可见.如果是这种情况,请取消隐藏容器:
$textarea = $('#' + textareaId)
$textarea.closest('.mce-tinymce.mce-container').show()
Run Code Online (Sandbox Code Playgroud)
注意,这是使用tinymce 4.x.
小智 7
这是一个浏览器错误/问题,而不是TinyMCE的问题.在某些浏览器中保留iframe内容是不可能的,因为一旦从文档/窗口卸载dom中删除节点.我建议先删除编辑器实例,然后重新添加它,而不是在DOM中移动它.