日期:2014-05-16  浏览次数:20437 次

请问,Web编辑器的文本框是如何实现显示html效果的呢?
一般的文本框只能显示字符,而很多web编辑器的文本框可以将html代码显示出来,一般的 <textarea> 是做不到的,其实现原理是什么呢?

------解决方案--------------------
晕,请搜索 web编辑器基本原理!

百度,google 上多滴很!
------解决方案--------------------
兄弟,我来帮助你,希望得分100,呵呵

首先,你必须熟悉html 标签,就是 <html> <a> <body> <input> <br> <p> 之类的符号,浏览器(ie, firefox等)对这些标签有特殊处理。浏览器看到这些标签后,会自动解析,然后转换成网页让我们看到

第二,你想输出 " <html> " 引号内的文字到网页上,直接在 文本里 写 <html> 是显示不出来的,因为浏览器会自动把这个关键字给转换掉。如果想输出到网页上需要写成 "&lt;html&gt; "

第三,&lt; 就是 < 符号,&gt; 就是 > 符号,浏览器碰到这些以 &开头 ;结尾的符号时,也会自动做转换,把相应符号生成在网页里(这类符号叫html转义符号)。你问题中说的现象,就是这么做出来的。再比如说网页里看到的空格,其实在html代码文本里是 &nbsp;表示出来的。

最后,这些转移符号,可以到这里查到 http://hi.baidu.com/eagle_spring/blog/item/20fcfe80b912ded69123d9cb.html
------解决方案--------------------
给你一点提示能做编辑器的容器就两个div和iframe在ie下
<div contenteditable=true> </div> 就可以写东西了
用对于iframe 需要用javascript设置起Oneditable=true就可以了.至于效果就是改变div或iframe的innerHTML就可以了.只是一点,你自己去查一查相关的资料吧
------解决方案--------------------
尽管textarea也可以做到显示多种标签
但通常的web编辑器不是textarea, 而是designMode=on的iframe:
---------
<font color=red> fdafdsafdsafdsaf </font>
<iframe id=aaa src= "about:blank ">
</iframe>
<script>
document.getElementById( "aaa ").contentWindow.document.designMode= "On ";
</script>