FCKeditor

1.在使用控件的页面:
  <textarea name="PostEditor" id="PostEditor" rows="10" cols="80" style="width: 100%; height: 200px"></textarea>
2.fckeditor.js
 //让PostEditor不可见
 oTextarea.style.display = 'none' ;
 //在当前页面插入一个iframe;该iframe指向fckeditor.original.html
 '<iframe id="' + this.InstanceName + '___Frame" src="' + sLink + '" width="' + this.Width + '" height="' +

this.Height + '" frameborder="0" scrolling="no"></iframe>' ;
------------------fckeditor.original.html---------------------------------
3.    fck.js

 //把PostEditor保存到FCK.LinkedField
 var oDocument = window.parent.document ;
 var eLinkedField  = oDocument.getElementById( FCK.Name ) //其中FCK.Name="PostEditor"
 FCK.LinkedField = eLinkedField ;
4.  fckeditor.original.html
    生成工具栏如果过工具栏生成成功后就加载编辑框
function LoadToolbar()
{
 var oToolbarSet = FCK.ToolbarSet = FCKToolbarSet_Create() ;
 
 if ( oToolbarSet.IsLoaded )
  StartEditor() ;
 else
 {
  oToolbarSet.OnLoad = StartEditor ;
  oToolbarSet.Load( FCKURLParams['Toolbar'] || 'Default' ) ;
 }
}
5. fck_1.js
 //生成编辑框
 FCK.EditingArea = new FCKEditingArea( document.getElementById( 'xEditingArea' ) ) ;
 //把PostEditor的值放到这个编辑框中,其实编辑框实际上在xEditingArea里边的iframe中
 this.SetHTML( FCKTools.GetLinkedFieldValue() ) ;
6.fck_1.js
//在页面加载完成后执行FCK_EditingArea_OnLoad,目的是让在PostEditor所在的form提交是执行FCK.UpdateLinkedField:
FCKTools.AttachToLinkedFieldFormSubmit( FCK.UpdateLinkedField )
7.fck_1.js
//FCK.UpdateLinkedField里的一段代码:是把iframe里的编辑框中的值赋给PostEditor。
FCK.LinkedField.value = FCK.GetXHTML( FCKConfig.FormatOutput ) ;

posted @ 2008-05-24 16:59  烈马狂生  阅读(688)  评论(1编辑  收藏  举报