designMode和contentEditable的屬性的介紹

 先解釋一下在線編輯器的原理:首先需要IE5.0以上版本的支持.因爲IE5.0以上版本有一個編輯狀態,designMode是document的屬性,意思是設置或獲取表明文檔是否可被編輯的值,默認值爲off或Inherit

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中測試通過。如果想先初始化加入一些內容及樣式,代碼示例如下:

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;
}
發佈了163 篇原創文章 · 獲贊 13 · 訪問量 119萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章