在我拥有的页面上,我需要偶尔在DOM树中移动TinyMCE编辑器。但是,出于某种原因,编辑不喜欢它:它完全清除并变得无法使用。据我所知,这种行为在Safari 4和Firefox 3.6之间是一致的,但不是Internet Explorer 7/8。 Here's an example
真的让我感到沮丧的是做一些在Internet Explorer中工作的东西,但没有更好的浏览器。在文档中是否有一些关于永远不会尝试在DOM树中移动编辑器的内容?有某种解决方法吗?
答案 0 :(得分:8)
有同样的问题,我在这里解决了这个问题......
创建问题
我使用jquery移动包含tinymce编辑器的dom元素,导致它丢失所有内容:
$('.form-group:last').after($('.form-group:first'))
在此之后,编辑的iframe内容将被删除。
解决方案
var textareaId = 'id_of_textarea';
tinyMCE.get(textareaId).remove();
tinyMCE.execCommand("mceAddEditor", false, textareaId);
有时编辑器会将iframe添加回来,但不可见。如果是这种情况,请取消隐藏容器:
$textarea = $('#' + textareaId)
$textarea.closest('.mce-tinymce.mce-container').show()
注意,这是使用tinymce 4.x。
答案 1 :(得分:7)
这是一个浏览器错误/问题,而不是TinyMCE的问题。在某些浏览器中保留iframe内容是不可能的,因为一旦从文档/窗口卸载dom中删除节点。我建议先删除编辑器实例,然后重新添加它,而不是在DOM中移动它。