HTML WYSIWYG 编辑器:为什么可编辑内容移动到 iFrame 中

2023-11-25

为什么可编辑的 html 被移到 iFrame 中?我分析了不同的编辑器(TinyMce、CKEditor 等),并将所有可编辑内容移动到一个单独的 iFrame 中,并将其覆盖在原始文本上。

这是什么技术原因。我尝试过contenteditable="true",这也是所有这些编辑器的基础,但尚未找到这样做的理由。


我是 CKEditor 核心开发人员。时间不长——只是今年下半年,但我学到了很多关于为什么我们使用 iframed editable 的知识:)

  1. 样式 - iframed 编辑器的内容不继承页面的样式。这非常重要,因为我们无法重置样式(原文如此!CSS 真的很糟糕)。更重要的是 - 在 iframe 中我们可以自由添加自己的样式,这也很有帮助。

  2. 只有在可编辑的 iframe 中,我们才能在整个页面上使用 head、metas、body 样式、标题等。我们的一些用户需要这个。

  3. 浏览器的 contenteditable 实现非常有缺陷(且不完整)。例如。猜猜当您将列表粘贴到可编辑列表中时会发生什么<h1>Firefox 上的元素(您可以在此编辑器中检查 -http://createjs.org/demo/hallo/)?它将泄漏出可编辑区域并成为不可编辑元素。我们必须在编辑器中手动处理这些情况,这确实是一项艰苦的工作:)。

  4. 我对此不确定,但我相信designMode允许将整个文档切换到可编辑区域是第一个和contenteditable后来来了。所以原因也可能是历史性的——很难从一种方法转换到另一种方法。

  5. 可能我们使用 iframe 可编辑的原因还有更多。当我学习它们时,我会更新我的答案:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML WYSIWYG 编辑器:为什么可编辑内容移动到 iFrame 中 的相关文章

随机推荐