本文使用的是最新的FCKeditor 2.3.1版本
官方網站下載: http://ckeditor.com/download[建議直接在官方網站下載最新版本]
下面就開始用了:
第一項工作就是對這個功能宏大的編輯器進行精簡,當然是文件精簡而非功能精簡化。在這里我以asp版的FCKeditor為例進行,進入到FCKeditor 文件夾下,先把以“_”為開頭的文件夾統統刪除,這些文件夾里放的是范例或是一些其它工具。其實也就是只保留editor文件夾、fckconfig.js、fckeditor.asp、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了,最外層的精簡化完畢,進入到editor文件夾內,先把“_source”文件夾刪除,這里是一些源文件,對于使用來說沒什么用處。
進入images文件夾,刪除smiley文件夾,些文件是放表情圖標的,你想用這里的表情圖標那就不要刪掉,想換自己的就刪了吧,不過我覺得還是用自己的表情好,現在有很多有個性的圖。退出 images再進入lang文件夾內,這里的東西可以來個大清洗了,fcklanguagemanager.js(最新版本沒有這個文件)、zh-cn.js、en.js、zh.js這四個文件,第一個文件是語言配置文件,有了它才能和fckconfig.js里的設置成對對應上相應的語言文件,zh-cn.js是簡體中文語言包,en.js是英語,zh.js是繁體中文的。
再退出lang文件夾,進入skin文件夾,default文件夾是默認的這種奶黃色.silver是銀色的,也就是灰色和任何顏色配起來都不會難看,那個office2003的皮膚不是很好看,不建議使用,如果想換最簡單的方法就是把喜歡的文件夾的東西拷到default文件夾下…
精簡的最后一步,退出skin文件夾,再進入filemanager,如果你用的不是最新版的fckeditor的話,那這里就一個文件夾browser,新版的還有一個upload文件夾。先進入到filemanager/browser/default/connectors/下,除asp文件夾外(如果你的網頁是其他的如PHP就留相應的php文件夾,類推),全部刪除。然后再進入filemanager/upload/下,同樣,只留asp文件夾,至此,編輯器的精簡化已經結束了,接下來,我們對編輯器進行設置修改。
第一個修改的文件,也就是fckeditor總配置文件,位于根目錄下的fckconfig.js文件。配置選項:
AutoDetectLanguage=true/false 自動檢測語言
BaseHref=”” 相對鏈接的基地址
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標記
如果你不知道從那下手,看看下面的流程可能對你有用:
找到 FCKConfig.DefaultLanguage = 'en' ;改為 FCKConfig.DefaultLanguage = 'zh-cn' ;設置默認語言為簡體中文
找到FCKConfig.TabSpaces = 0 ; 改為FCKConfig.TabSpaces = 1 ; 即在編輯器域內可以使用Tab鍵。
如果你的編輯器還用在網站前臺的話,比如說用于留言本或是日記回復時,那就不得不考慮安全了,在前臺千萬不要使用Default的toolbar,要么自定義一下功能,要么就用系統已經定義好的Basic,也就是基本的toolbar,
FCKConfig.ToolbarSets[”Basic”] = [
['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']
] ;
這是我改過的Basic,把圖像功能去掉,把添加鏈接功能去掉,因為圖像和鏈接和flash和圖像按鈕添加功能都能讓前臺頁直接訪問和上傳文件,要是這兒不改直接給你上傳個木馬還不馬上玩完?但是光這樣還不行,fckeditor還支持編輯域內的鼠標右鍵功能。
FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
加上幾種我們常用的字體 FCKConfig.FontNames = '宋體;黑體;隸書;楷體_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
接下來就設置上傳功能了,還是以ASP為例,其實fck默認的就是asp的,把100行以下的所有被注釋掉的代碼全部刪掉就行,然后再把下面所有有關于browser.html和upload.asp的后面的?Type=XX都改成Type=YY,其中YY為你想保存文件的文件夾名稱。
而如果你還想用自己的表情圖標的話,那跳到131行,改掉那個表情圖標的文件夾地址,以及下面的表情圖標的文件名,再下面那三個數字是每行顯示表情數及彈出窗口的寬和高了,這個的大小要根據您的表情圖標排列的窗口的大小而定了。OK,總配置文件修改結束。
接下來是編輯器位置的設置,我的習慣是把editor放在根目錄下,最開始所述的五個文件也放在根目錄下(Tips:建議放在根目錄下,并且建議使用時設置路徑也采用絕對路徑,如”/fckeditor/”,而我的習慣的設置是”/”),這樣有利于fckeditor的更新升級,并且網站下所有文件夾都可以任意調用,不存在其它文件夾名變了而其它地方就無法使用編輯器的問題。
打開fckeditor.asp文件,找到 sBasePath = ”/fckeditor/”改為 sBasePath = ”/”
打開fckeditor.js文件,找到 this.BasePath = '/fckeditor/' ;改為 this.BasePath = '/' ;
編輯器域內默認的顯示字體為12px,而我的主頁默認字體為14px,所以看著就很不舒服,想要修改可以通過修改樣式表來達到要求,打開/editor/css/fck_editorarea.css,把第4行改為 font-size: 14px;即可。
接下來就是上傳文件的設置了,這個比較麻煩,請仔細操作。
打開/editor/filemanager/browser/default/frmresourcetype.html,找到第15行,插入“ ['uploadfile','uploadfile'],”配合上剛才在fckconfig.js里的設置,那么我的上傳文件路徑就是/uploadfile,當然你也可以改成你想要的文件夾,但這里的名稱一定要和fckconfig.js里的那個“Type=YY”里的YY一致才行。
還沒完,繼續進入到editor/filemanager/browser/default/connectors/asp,打開config.asp,先把ConfigIsEnabled = False改成為ConfigIsEnabled = True,要不是沒法上傳文件的,再把ConfigUserFilesPath = ”/UserFile”改成我想要的ConfigUserFilesPath = ”/”。
接著在“Set ConfigDeniedExtensions = CreateObject( ”Scripting.Dictionary” )”后面加入
ConfigAllowedExtensions.Add ”uploadfile”, ””
ConfigDeniedExtensions.Add ”uploadfile”, ””
同理,這里的設置也是要和上面以及fckconfig.js里面對應的。
還有一個上傳,就是快速上傳,這個功能是在fckeditor 2.0里才有的,以前的版本沒這個功能。進入/editor/filemanager/upload/asp,同樣打開config.asp,也同樣的把ConfigIsEnabled = False 設置成 ConfigIsEnabled = True,我這里把ConfigUserFilesPath = ”/UserFiles/”改成我想要的 ConfigUserFilesPath = ”/uploadfile/”& Year(Date()) &”-”& Month(Date()) &”/”,因為我的上傳文件是放在uploadfile文件夾下,并且是按月分開放置的。快速上傳,不會讓你選擇文件夾,而是通過這里的設置直接上傳的,這兒設置如果和前面的設置配合不好的話,你的文件就會被上傳得亂七八糟,很不方便管理。接前重復前一個config.asp里的操作,在后面加上
ConfigAllowedExtensions.Add ”uploadfile”, ””
ConfigDeniedExtensions.Add ”uploadfile”, ””
接下來呢,就講一下如何創建自己的在線編輯器,這里以ASP為例:
測試環境:XPSP2,IIS5.1,FCKeditor2.0
在IIS上建立一個新的站點,我直接取名為FCKeditor
在DW里建立一個相對應的站點,測試服務器為本機,支持VBScript
在站點根目錄下,新建一個index.asp頁面,<body>段內加如下代碼(調用編輯器):
<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor
oFCKeditor.BasePath = ”/FCKeditor/” //設置編輯器的路徑,我站點根目錄下的一個目錄
oFCKeditor.ToolbarSet = ”Default”
oFCKeditor.Width = ”100%”
oFCKeditor.Height = ”600″
oFCKeditor.Value = ”” //這個是給編輯器初始值
oFCKeditor.Create ”logbody” //以后編輯器里的內容都是由這個logbody取得,命名由你定
%>
加了這一段別忘了在index.asp前面第一行加上<!–#include file=”FCKeditor/fckeditor.asp” –>把fckeditor.asp包含進來。
現在你只要把這個編輯器當成一個控件來使用,提取它的數據時用:request(”logbody”)