为什么可编辑的html移动到iFrame?我分析了不同的编辑器(TinyMce,CKEditor等),并将所有的可编辑内容移动到一个单独的iFrame中,它们覆盖原始文本.
这是什么技术原因.我尝试了contenteditable =“true”,这也是所有这些编辑的基础,也没有找到理由.
解决方法
我是CKEditor核心开发人员.不是很长时间 – 只是在一年的上半年,但我学到了很多关于为什么我们使用iframed可编辑:)
>样式 – iframed编辑器的内容不会继承页面的样式.这是非常重要的,因为我们无法重新设置样式(sic!CSS真的很烂).更重要的是,在iframe中,我们可以自由添加自己的风格,这也是有帮助的.
>只有在iframed可编辑,我们可以在整个页面上使用head,Metas,body style,title等.我们的一些用户需要这个.
>浏览器具有非常错误的(和不完整的)可容忍的含义.例如.猜测当您将列表粘贴到可编辑文件中时会发生什么,这是一个< h1> Firefox上的元素(您可以在此编辑器中查看 – http://createjs.org/demo/hallo/)?它将泄漏出可编辑区域,并成为不可编辑的元素.我们必须在编辑器中手动处理这些情况,这真的很努力:).>我不知道这一点,但我相信,设计模式允许将整个文档切换到可编辑区域已经是第一个和contenteditable后来.所以原因也许是历史的 – 很难从一种方法转向另一种方法.可能有更多的理由为什么我们使用iframed可编辑.我会更新我的答案,当我会学习他们:)