FCKeditor offers a complete JavaScript API

3.FCKeditor offers a complete JavaScript API:

 

FCKeditor offers a complete JavaScript API so you can interact with it once the editor is loaded and running.

 

FCKeditor提供了一個完整的JavaScript API(Application Public Interface),你可以利用這些API來處理FCK編輯器,只要它被加載完成或在正在運行中.

 

 

Retrieving an editor instanceOnce loaded, the editor registers a global object called FCKeditorAPI. This object offers the entry point to interact with any editor instance placed in a page (you can have more than one). When placing the editor in the page, you give it an "instance name". So, to retrieve it, you must simply call the FCKeditorAPI.GetInstance method.

 

一旦編輯器實例化完成後,它都會註冊一個全局的對象,叫作FCKeditorAPI. 這個對象提供一個接入點去獲取在本頁面內的任何已實例化的對象(不止一個).當你在頁面生成一個編輯器時,你給了它一個實例名.所以,你只需簡單地調用 FCKeditorAPI.GetInstance方法就可以獲取到它的對象引用.

 

 

For example: var oEditor = FCKeditorAPI.GetInstance('InstanceName') ;

 

例如,var oEditor = FCKeditorAPI.GetInstance('InstanceName') ; 這裏就是獲取實例名爲"InstanceName"FCKeditor對象.

 

 

The GetInstance method returns the main FCKeditor object that gives the necessary bridge to interact with it.

 

 

This is a list of properties and methods of this object:

 

這是一個FCKeditor的屬性和方法的列表:

 

 

* Description = string 描述

 

* EditMode = Integer 編輯狀態

 

* Name = string 名字

 

* Status = Integer 狀態

 

 

* function AttachToOnSelectionChange(functionPointer)

 

* function CleanAndPaste(html)

 

* function CreateElement(tag)

 

* function CreateLink(url)

 

* function ExecOnSelectionChange() //Fires OnSelectionChange event in event manager

 

* function ExecOnSelectionChangeTimer()

 

* function ExecuteNamedCommand(commandName, commandParameter)

 

* function ExecuteRedirectedNamedCommand(commandName, commandParameter)

 

* function Focus()

 

* function GetHTML(format) // doesnt work. Use GetXHTML instead.

 

* function GetNamedCommandState(commandName)

 

* function GetNamedCommandValue(commandName)

 

* function GetXHTML(format)

 

* function InitializeBehaviors()

 

* function InsertElement(element)

 

* function InsertElementAndGetIt(e)

 

* function InsertHtml(html)

 

* function IsDirty();

 

* function MakeEditable()

 

* function OnDoubleClick(element)

 

* function Paste()

 

* function PasteAsPlainText()

 

* function PasteFromWord()

 

* function Preview()

 

* function RegisterDoubleClickHandler(handlerFunction, tag)

 

* function ResetIsDirty();

 

* function SetHTML(html, forceWYSIWYG)

 

* function SetStatus()

 

* function ShowContextMenu(x, y)

 

* function SwitchEditMode()

 

* function UpdateLinkedField()

 

 

EventsOnce the editor loading is complete and it is ready to use (and interact with JavaScript), a standard function is called in the page that contains the editor, if the function is defined.

 

This function must be named "FCKeditor_OnComplete" and receives the related editor instance as the parameter. Using it, you can execute any initial code that makes the initial interaction with the editor.

 

This is a declaration example:

 

 

function FCKeditor_OnComplete( editorInstance ) {

 

alert( editorInstance.Name ) ; }

 

 

Apart the above standard event, every FCKeditor instance has a "Event" object that can be used to listen for events to be fired.

 

For example, the following code listens for the "OnSelectionChange" to execute custom code:

 

 

var counter = 0 ;

 

function DoSomething( editorInstance ) {

 

window.document.title = editorInstance.Name + ' : ' + ( ++counter ) ; }

 

function FCKeditor_OnComplete( editorInstance ) {

 

editorInstance.Events.AttachEvent( 'OnSelectionChange', DoSomething ) ; }

 

 

Note that every callback function receives the editor instance as a parameter.

 

The following is the list of events available:

 

 

OnSelectionChange: fired when the actual selection in the editor area changes (by selection I mean the cursor position too... it changes on key strokes). Note: In IE6, this event does not fire on every keystroke, but only on some random keystrokes. Handy!

 

 

OnAfterSetHTML: fired once the HTML is loaded in the editor (including when changing views).

 

 

OnStatusChange: fired when the editor status changes. The following constants are also available globally in the page: FCK_STATUS_NOTLOADED, FCK_STATUS_ACTIVE and FCK_STATUS_COMPLETE.

 

 

OnPaste: fired when something is pasted in the editor

 

參考:http://www.cnblogs.com/fengmk2/articles/532787.html

 

 

 

-----------------------------

配置選項:

AutoDetectLanguage=true/false 自動檢測語言

BaseHref="" _fcksavedurl="""" 相對鏈接的基地址

ContentLangDirection="ltr/rtl" 默認文字方向

ContextMenu=字符串數組,右鍵菜單的內容

CustomConfigurationsPath="" 自定義配置文件路徑和名稱

Debug=true/false 是否開啓調試功能,這樣,當調用FCKDebug.Output(),會在調試窗中輸出內容

DefaultLanguage="" 缺省語言

EditorAreaCss="" 編輯區的樣式表文件

EnableSourceXHTML=true/false TRUE,當由可視化界面切換到代碼頁時,HTML處理成XHTML

EnableXHTML=true/false 是否允許使用XHTML取代HTML

FillEmptyBlocks=true/false 使用這個功能,可以將空的塊級元素用空格來替代

FontColors="" 設置顯示顏色拾取器時文字顏色列表

FontFormats="" 設置顯示在文字格式列表中的命名

FontNames="" 字體列表中的字體名

FontSizes="" 字體大小中的字號列表

ForcePasteAsPlainText=true/false 強制粘貼爲純文本

ForceSimpleAmpersand=true/false 是否不把&符號轉換爲XML實體

FormatIndentator="" 當在源碼格式下縮進代碼使用的字符

FormatOutput=true/false 當輸出內容時是否自動格式化代碼

FormatSource=true/false 在切換到代碼視圖時是否自動格式化代碼

FullPage=true/false 是否允許編輯整個HTML文件,還是僅允許編輯BODY間的內容

GeckoUseSPAN=true/false 是否允許SPAN標記代替B,I,U標記

IeSpellDownloadUrl=""下載拼寫檢查器的網址

ImageBrowser=true/false 是否允許瀏覽服務器功能

ImageBrowserURL="" 瀏覽服務器時運行的URL

ImageBrowserWindowHeight="" 圖像瀏覽器窗口高度

ImageBrowserWindowWidth="" 圖像瀏覽器窗口寬度

LinkBrowser=true/false 是否允許在插入鏈接時瀏覽服務器

LinkBrowserURL="" 插入鏈接時瀏覽服務器的URL

LinkBrowserWindowHeight=""鏈接目標瀏覽器窗口高度

LinkBrowserWindowWidth=""鏈接目標瀏覽器窗口寬度

Plugins=object 註冊插件

PluginsPath="" 插件文件夾

ShowBorders=true/false 合併邊框

SkinPath="" 皮膚文件夾位置

SmileyColumns=12 圖符窗列數

SmileyImages=字符數組 圖符窗中圖片文件名數組

SmileyPath="" 圖符文件夾路徑

SmileyWindowHeight 圖符窗口高度

SmileyWindowWidth 圖符窗口寬度

SpellChecker="ieSpell/Spellerpages" 設置拼寫檢查器

StartupFocus=true/false 開啓時FOCUS到編輯器

StylesXmlPath="" 設置定義CSS樣式列表的XML文件的位置

TabSpaces=4 TAB鍵產生的空格字符數

ToolBarCanCollapse=true/false 是否允許展開/摺疊工具欄

ToolbarSets=object 允許使用TOOLBAR集合

ToolbarStartExpanded=true/false 開啓是TOOLBAR是否展開

UseBROnCarriageReturn=true/false 當回車時是產生BR標記還是P或者DIV標記

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章