为什么javascript编辑器使用iframe来实现?

为什么javascript编辑器使用iframe来实现?,javascript,iframe,editor,textarea,Javascript,Iframe,Editor,Textarea,为什么他们更喜欢使用iframe并通过.contentWindow.document.designMode=“on”打开设计模式,而不是直接使用textarea?我想使用iframe可以实现更好的隔离:编辑器可以做任何它想做的事情,没有任何与页面其他部分冲突的风险——特别是CSS和Javascript。原因是您无法在文本区域中实时预览使用编辑器应用的样式。无论何时应用样式,如按[code>Ctrl+B,iframe中的部分都可以以粗体格式呈现字符,而在文本区域中则不可能。Textarea用于输入

为什么他们更喜欢使用iframe并通过
.contentWindow.document.designMode=“on”
打开设计模式,而不是直接使用textarea?

我想使用iframe可以实现更好的隔离:编辑器可以做任何它想做的事情,没有任何与页面其他部分冲突的风险——特别是CSS和Javascript。

原因是您无法在文本区域中实时预览使用编辑器应用的样式。无论何时应用样式,如按[code>Ctrl+B,iframe中的部分都可以以粗体格式呈现字符,而在文本区域中则不可能。Textarea用于输入非格式化值,而iframe上打开的设计模式用于输入格式化文本


您可以使用任何其他元素,如div,并可以将其转换为编辑器。但是使用iframe,您可以拥有一个单独的文档,并且可以在不考虑设置iframe的父页面的情况下对其进行操作。

大多数浏览器已经有了某种可编辑模式很长一段时间了,但直到最近,一些浏览器(如Firefox直到版本3)才支持
设计模式,它只适用于整个文档,而不是更灵活的
contentEditable
,后者可以为文档中的单个元素打开和关闭。因此,所见即所得编辑器必须使用iframe来支持此类浏览器