FCK的高級(jí)功能和常見(jiàn)問(wèn)題的解決方法
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-04-17 23:13:58 閱讀次數(shù):2782次
FCKeditor是一個(gè)專門使用在網(wǎng)頁(yè)上屬于開(kāi)放源代碼的所見(jiàn)即所得文字編輯器。它志于輕量化,不需要太復(fù)雜的安裝步驟即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的編程語(yǔ)言相結(jié)合。FCK的配置和使用都很簡(jiǎn)單,但是默認(rèn)的配置不能滿足所有的需求,所以我們需要了解一些FCK的高級(jí)功能。
獲取FCK的實(shí)例
FCKeditorAPI是FCKeditor加載后注冊(cè)的一個(gè)全局對(duì)象,利用它我們就可以完成對(duì)編輯器的各種操作。
在當(dāng)前頁(yè)獲得 FCK 編輯器實(shí)例:
var Editor = FCKeditorAPI.GetInstance('InstanceName');
從 FCK 編輯器的彈出窗口中獲得 FCK 編輯器實(shí)例:
var Editor = window.parent.InnerDialogLoaded().FCK;
從框架頁(yè)面的子框架中獲得其它子框架的 FCK 編輯器實(shí)例:
var Editor = window.FrameName.FCKeditorAPI.GetInstance('InstanceName');
從頁(yè)面彈出窗口中獲得父窗口的 FCK 編輯器實(shí)例:
var Editor = opener.FCKeditorAPI.GetInstance('InstanceName');
FCK獲取焦點(diǎn)
獲取焦點(diǎn)是否在FCK中:
oEditor.HasFocus
FCK獲取焦點(diǎn):
oEditor.Focus();//獲取焦點(diǎn)
獲取和設(shè)置FCK的內(nèi)容
獲得 FCK 編輯器的內(nèi)容:
oEditor.GetXHTML(formatted); // formatted 為:true|false,表示是否按HTML格式取出。
設(shè)置 FCK 編輯器的內(nèi)容:
oEditor.SetHTML("content", false); // 第二個(gè)參數(shù)為:true|false,是否以所見(jiàn)即所得方式設(shè)置其內(nèi)容。
插入內(nèi)容到 FCK 編輯器:
oEditor.InsertHtml("html"); // "html"為HTML文本
檢查 FCK 編輯器內(nèi)容是否發(fā)生變化:
oEditor.IsDirty();
1 // 獲取編輯器中HTML內(nèi)容
2 function getEditorHTMLContents(EditorName) {
3 var oEditor = FCKeditorAPI.GetInstance(EditorName);
4 return(oEditor.GetXHTML(true));
5 }
6
7 // 獲取編輯器中文字內(nèi)容
8 function getEditorTextContents(EditorName) {
9 var oEditor = FCKeditorAPI.GetInstance(EditorName);
10 return(oEditor.EditorDocument.body.innerText);
11 }
12
13 // 設(shè)置編輯器中內(nèi)容
14 function SetEditorContents(EditorName, ContentStr) {
15 var oEditor = FCKeditorAPI.GetInstance(EditorName) ;
16 oEditor.SetHTML(ContentStr) ;
17 }
18
FCK的事件處理
FCK定義有OnComplete,OnBlur和OnFocus等事件,這樣就可以使用事件的處理函數(shù)完成相應(yīng)的處理。
FCK添加事件處理函數(shù)的方法是:fckInstance.Events.AttachEvent( EventName, function)
代碼
//FCKeditor加載完成后做處理的方法
function FCKeditor_OnComplete( editorInstance )
{
editorInstance.Events.AttachEvent( 'OnBlur' , FCKeditor_OnBlur ) ;
editorInstance.Events.AttachEvent( 'OnFocus', FCKeditor_OnFocus ) ;
}
function FCKeditor_OnBlur( editorInstance )
{
//失去焦點(diǎn)收起工具欄
editorInstance.ToolbarSet.Collapse() ;
}
function FCKeditor_OnFocus( editorInstance )
{
editorInstance.ToolbarSet.Expand() ;
}
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)