先解釋一下在線編輯器的原理:首先須要IE5.0以上版本的支持.由於IE5.0以上版本有一個編輯狀態,designMode是document的屬性,意思是設置或獲取代表文檔是否可被編輯的值,默認值爲off或Inheritjavascript
HtmlEdit.document.designMode="On";
HtmlEdit是iframe對象ID
IE 中能夠設置contentEditable="true"
把div的contentEditable屬性設置爲 true,在IE瀏覽器中就能夠看到效果了,div中元素都變成能夠編輯的了。
<div id="tt" contentEditable="true"></div>
<body contentEditable="true"><!--則整個頁面均可以編輯了-->。
Firefox中能夠 使用javascript語句設置屬性contentDocument.designMode爲 "on"
iframeName.document.designMode="on" ;
其中iframeName 爲iframe控件的name屬性。
在 IE7和 FireFox2.0中測試經過。若是想先初始化加入一些內容及樣式,代碼示例以下:
java
複製代碼代碼以下:瀏覽器
if(navigator.appName == "Microsoft Internet Explorer")
{
var IframeID=frames["HtmlEditor"];
if(navigator.appVersion.indexOf("MSIE 6.0",0)==-1){IframeID.document.designMode="On"}
IframeID.document.open();
IframeID.document.write(StyleEditorHeader);
IframeID.document.close();
IframeID.document.body.contentEditable = "True";
IframeID.document.body.innerHTML=HidenObjValue;
IframeID.document.body.style.fontSize="10pt";
}else
{
var _FF = navigator.userAgent.indexOf("Firefox")>-1?true:false;
var IframeID=getObject("HtmlEditor");
HtmlEditor=IframeID.contentWindow;
HtmlEditor.document.designMode="On"
HtmlEditor.document.open();
HtmlEditor.document.write(StyleEditorHeader);
HtmlEditor.document.close();
HtmlEditor.document.body.contentEditable = "True";
HtmlEditor.document.body.innerHTML=HidenObjValue;
}app