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

时间:2009-12-11 05:27:01

标签: javascript iframe editor textarea

为什么他们更喜欢使用iframe并按.contentWindow.document.designMode = "on"启用设计模式而不是直接使用textarea?

3 个答案:

答案 0 :(得分:2)

原因是您无法在textarea中预览使用编辑器应用的样式。每当你应用像Ctrl + B这样的样式时,iframe中的部分都可以以粗体格式呈现字符,而在textarea中则不可能。 Textarea用于输入非格式化值,而设计模式打开iframe用于输入格式化文本。

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

答案 1 :(得分:0)

我认为使用iframe可以更好地隔离:编辑器可以做任何想做的事情,而不会有任何与页面其他部分冲突的风险 - 特别是对于CSS和Javascript。

答案 2 :(得分:0)

大多数浏览器在很长一段时间内都有某种可编辑模式,但直到最近,某些浏览器(例如Firefox直到版本3)才支持designMode,这只适用于整个文档,而不是更多灵活的contentEditable,可以为文档中的各个元素打开和关闭。因此,WYSIWYG编辑必须使用iframe来支持此类浏览器。