很多论坛都使用在线编辑器,一直好奇它们是如何实现的,在网上搜索了一些资料,终于有所收获,纠正了资料中的一些错误,凑了一个可以直接demo的例子:
-----------------------------------------------------------------------------------------------------------------------------------------------------
<IFRAME id="HtmlEdit" style="WIDTH: 100%; HEIGHT: 296px" marginWidth="0" marginHeight="0"></IFRAME>
<script language="javascript"> var editor;editor = document.getElementById("HtmlEdit").contentWindow;//但是IE与FireFox有点不同,为了兼容FireFox,所以必须创建一个新的document。editor.document.open();editor.document.writeln('<html><body></body></html>');editor.document.close();//只需键入以下设定,iframe立刻变成编辑器。editor.document.designMode = 'On';//字体特效 - 加粗方法一 function addBold(){ editor.focus(); //所有字体特效只是使用execComman()就能完成。 editor.document.execCommand("Bold", false, null); alert(editor.document.body.innerHTML);}</script><input type=button οnclick='addBold()'value='粗体'/>-------------------------------------------------------------------------------
将上面代码拷贝并保存为html文件,运行即可见效果,最重要的是下面两句:
editor.document.designMode = 'On'; //用这句打开iframe窗口的编辑模式
editor.document.execCommand("Bold", false, null); //用这句对窗口中选中的文字进行加粗操作document.execCommand命令用法网上可搜出一大堆,不再赘述。