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 ) ;