它不需要安裝任何形式的客戶端,兼容絕大多數(shù)主流瀏覽器,支持ASP.Net、ASP、ColdFusion 、PHP、Jsp、Active-FoxPro、Lasso、Perl、ython 等編程環(huán)境。
官方網(wǎng)站 http://www.fckeditor.net/
官方文檔 http://wiki.fckeditor.net/
下載地址 http://www.fckeditor.net/download/default.html
FCKeditor安裝和配置
下載FCKeditor2.63.zip和FCKeditor.NET2.63版的2個(gè)zip包
(a) FCKeditor_2.6.3是html文件、Javascript文件和圖片等資源文件
(b) FCKeditor.Net_2.6.3.zip是一個(gè)ASP.NET控件DLL文件
Asp.Net項(xiàng)目中添加對(duì) FCKeditor 的引用
1. 項(xiàng)目上選擇添加引用找到FredCK.FCKeditorV2.dll或直接將FredCK.FCKeditorV2.dll復(fù)制到項(xiàng)目的Bin目錄中
2. 為了方便開發(fā),可以把FredCK.FCKeditorV2.dll控件也添加到VS的工具箱中
3. 配置Web.Config,在<appSettings>節(jié)點(diǎn)添加,如下所示:
<appSettings>
<!--FCKeditor文本編輯控件配置-->
<add key="FCKeditor.BasePath" value="~/FCKeditor/"/>
<add key="FCKeditor.UserFilesPath" value="/解決方案名/uploads"/> //UserFilesPath的文路徑可以在FCKeditor/editor/filemanager/connectors/aspx/config.ascx中更改
</appSettings>
4.網(wǎng)頁中使用
<FCKeditorV2:FCKeditor ID="FCKeditor" runat="server" BasePath="~/FCKeditor/">//BasePath指定到FCKeditor的根目錄</FCKeditorV2:FCKeditor>
FCKeditor 的配置:
進(jìn)入FCKeditor文件夾,編輯 fckconfig.js 文件
1、修改(改成自己當(dāng)前使用的語言)
var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
2、修改配置語言
FCKConfig.DefaultLanguage = ‘en' 為: FCKConfig.DefaultLanguage = ‘zh-CN' ;
3、配置皮膚,有default、office2003、silver風(fēng)格等。
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
4、在編輯器域內(nèi)可以使用Tab鍵。(1為是,0為否)
FCKConfig.TabSpaces = 0 ; 改為 FCKConfig.TabSpaces = 1 ;
5、加上幾種常用的字體:
FCKConfig.FontNames = ‘宋體;黑體;隸書;楷體_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana';
6、編輯器域內(nèi)默認(rèn)的顯示字體為12px,想要修改可以通過修改樣式表來達(dá)到要求,打開/editor/css/fck_editorarea.css,修改font-size屬性即可
7、關(guān)于安全性
如果你的編輯器用在前臺(tái)非認(rèn)證的情況下,推薦使用Basic的toolbar
FCKConfig.ToolbarSets["Basic"] = [ ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','Image','-','About']
] ;
8、在上傳文件窗口點(diǎn)擊瀏覽服務(wù)器,可能會(huì)出現(xiàn) the server didn't send back a proper xml….. 錯(cuò)誤提示,是因?yàn)镕CKeditor要求不同類型的文件分別傳到不同的目錄,包括file,image,falsh,media 等目錄,可以先建立起來試試。
FCKEditor.NET 2.6 的安全性配置
文件上傳,出錯(cuò):(This connector is disabled.please check the "editor/filemanager/connectors/aspx/config.ascx" file.)
打開 editor/filemanager/connectors/aspx/config.ascx 文件,返回true.
復(fù)制代碼代碼如下:
private bool CheckAuthentication() { // WARNING : DO NOT simply return "true". By doing so, you are allowing // "anyone" to upload and list the files in your server. You must implement // some kind of session validation here. Even something very simple as... // //return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true ); // // ... where Session[ "IsAuthorized" ] is set to "true" as soon as the // user logs in your system. return true; }
FCKeditor的精簡(jiǎn)和清理 進(jìn)入FCKeditor文件夾,將所有以“_”開頭的文件和文件夾刪,刪除FCKeditor文件夾下后綴名為:.afp、.cfc、.cfm、.lasso、.pl、.py、.txt文件,只保留FCKeditor文件夾下fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了; 進(jìn)入editor文件夾,刪掉“_source”文件夾,里面放的同樣是源文件; lang里面放的是語言包,如果只是用簡(jiǎn)體中文,那么只保留fcklanguagemanager.js、zh-cn.js兩個(gè)文件就OK,建議保留en.js(英文)、zh.js(繁體中文)兩個(gè)文件,fcklanguagemanager.js是語言配置文件,有了它才能和 fckconfig.js里的設(shè)置成對(duì),對(duì)應(yīng)上相應(yīng)的語言文件,一定要保留! 簡(jiǎn)單介紹一下配置文件fckconfig.js中文注釋。如有理解錯(cuò)誤的地方請(qǐng)高手留言指正。 FCKConfig.CustomConfigurationsPath = '' ; //自定義配置文件路徑和名稱 FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ; //文本編輯區(qū)域的樣式表文件路徑 FCKConfig.EditorAreaStyles = '' ; //文本編輯區(qū)域的樣式表風(fēng)格 FCKConfig.ToolbarComboPreviewCSS = '' ; //工具欄預(yù)覽CSS FCKConfig.DocType = '' ; //文檔類型 FCKConfig.BaseHref = '' ; //相對(duì)鏈接的基地址 FCKConfig.FullPage = false ; //是否允許編輯整個(gè)HTML文件,還是僅允許編輯BODY間的內(nèi)容 FCKConfig.StartupShowBlocks = false ; //是否啟用"顯示模塊" FCKConfig.Debug = false ; //是否開啟調(diào)試窗口功能 FCKConfig.AllowQueryStringDebug = true ; //是否啟用網(wǎng)頁查詢調(diào)試功能 FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ; //FCKeditor皮膚路徑 FCKConfig.SkinEditorCSS = '' ; //編輯器的皮膚CSS路徑 FCKConfig.SkinDialogCSS = '' ; //對(duì)話窗口的皮膚CSS路徑 FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ; //預(yù)裝入的圖片 FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ; //插件路徑 FCKConfig.AutoGrowMax = 400 ; //文本編輯區(qū)域允許自動(dòng)增長(zhǎng)的最大高度限制,設(shè)置此屬性時(shí)應(yīng)同時(shí)將 // FCKConfig.Plugins.Add( 'autogrow' ) ;屬性的注釋去除,配合使用 FCKConfig.AutoDetectLanguage = true ; //是否自動(dòng)檢測(cè)語言 FCKConfig.DefaultLanguage = 'en' ; //默認(rèn)語言 FCKConfig.ContentLangDirection = 'ltr' ; //默認(rèn)的文字方向,可選"ltr/rtl",即從左到右或從右到左 FCKConfig.ProcessHTMLEntities = true ; //處理HTML實(shí)體 FCKConfig.IncludeLatinEntities = true ; //包括拉丁文 FCKConfig.IncludeGreekEntities = true ; //包括希臘文 FCKConfig.ProcessNumericEntities = false ; //處理數(shù)字實(shí)體 FCKConfig.AdditionalNumericEntities = '' ; //附加的數(shù)字實(shí)體 FCKConfig.FillEmptyBlocks = true ; //是否填充空塊 FCKConfig.FormatSource = true ; //在切換到代碼視圖時(shí)是否自動(dòng)格式化代碼 FCKConfig.FormatOutput = true ; //當(dāng)輸出內(nèi)容時(shí)是否自動(dòng)格式化代碼 FCKConfig.FormatIndentator = ' ' ; //當(dāng)在源碼格式下縮進(jìn)代碼使用的字符 FCKConfig.EMailProtection = 'none' ; //偵測(cè)電子郵件鏈接 FCKConfig.EMailProtectionFunction = 'mt(NAME,DOMAIN,SUBJECT,BODY)' ; //偵測(cè)電子郵件鏈接 FCKConfig.StartupFocus = false ; //開啟時(shí)焦點(diǎn)是否到編輯器,即打開頁面時(shí)光標(biāo)是否停留在fckeditor上 FCKConfig.ForcePasteAsPlainText = false ; //是否強(qiáng)制粘貼為純文本內(nèi)容 FCKConfig.AutoDetectPasteFromWord = true ; //是否自動(dòng)探測(cè)從word粘貼文件,僅支持IE FCKConfig.ShowDropDialog = true ; //是否顯示下拉菜單 FCKConfig.ForceSimpleAmpersand = false ; //是否不把&符號(hào)轉(zhuǎn)換為XML實(shí)體 FCKConfig.TabSpaces = 0 ; //按下Tab鍵時(shí)光標(biāo)跳格數(shù),默認(rèn)值為零為不跳格 FCKConfig.ShowBorders = true ; //是否合并邊框 FCKConfig.SourcePopup = false ; //是否彈出 FCKConfig.ToolbarStartExpanded = true ; //啟動(dòng)FCKeditor工具欄默認(rèn)是否展開 FCKConfig.ToolbarCanCollapse = true ; //是否允許折疊或展開工具欄 FCKConfig.IgnoreEmptyParagraphValue = true ; //是否忽略空的段落值 FCKConfig.FloatingPanelsZIndex = 10000 ; //浮動(dòng)面板索引 FCKConfig.HtmlEncodeOutput = false ; //是否將HTML編碼輸出 FCKConfig.TemplateReplaceAll = true ; //是否替換所有模板 FCKConfig.TemplateReplaceCheckbox = true ; //是否將實(shí)際內(nèi)容顯示在模版窗口中 FCKConfig.ToolbarLocation = 'In' ; //工具欄位置 FCKConfig.ToolbarSets["Default"] //配置默認(rèn)工具欄中各按鈕,適合用于后臺(tái)編輯 FCKConfig.ToolbarSets["Basic"] //配置基本工具欄按扭,適合前臺(tái)編輯 FCKConfig.EnterMode = 'p' ; //編輯文本時(shí)按回車鍵自動(dòng)生成<P></P>標(biāo)簽 FCKConfig.ShiftEnterMode = 'br' ; ////編輯文本時(shí)按Shift+回車鍵自動(dòng)生成<br />標(biāo)簽 FCKConfig.Keystrokes //自定義鍵盤快捷鍵 FCKConfig.ContextMenu //定義右鍵菜單的內(nèi)容 FCKConfig.BrowserContextMenuOnCtrl = false ; //是否允許在編輯區(qū)域中當(dāng)按下Ctrl鍵時(shí),點(diǎn)擊鼠標(biāo)右鍵顯示瀏覽器的上下文菜單 FCKConfig.BrowserContextMenu = false ; //是否允許在編輯區(qū)域中點(diǎn)擊鼠標(biāo)右鍵顯示瀏覽器的上下文菜單 FCKConfig.EnableMoreFontColors = true ; //是否禁止更多顏色選項(xiàng) FCKConfig.FontColors //文字顏色列表 FCKConfig.FontFormats //文字格式列表 FCKConfig.FontNames //字體列表 FCKConfig.FontSizes //字號(hào)列表 FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'fckstyles.xml' ; //CSS樣式列表的XML文件的位置 FCKConfig.TemplatesXmlPath = FCKConfig.EditorPath + 'fcktemplates.xml' ; //模版的XML文件位置 FCKConfig.SpellChecker = 'WSC' ; //拼寫檢查器 FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/download.php' ; //下載拼寫檢查器的網(wǎng)址 FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ; //拼寫檢查器腳本路徑 FCKConfig.FirefoxSpellChecker = false ; //Firefox瀏覽器拼寫檢查 FCKConfig.MaxUndoLevels = 15 ; //最大可以撤銷的次數(shù) FCKConfig.DisableObjectResizing = false ; //是否禁止用戶調(diào)整圖像和表格的大小 FCKConfig.DisableFFTableHandles = true ; //是否禁用表格工具 FCKConfig.LinkDlgHideTarget = false ; //是否隱藏Link窗口的target標(biāo)簽 FCKConfig.LinkDlgHideAdvanced = false ; //是否隱藏Link窗口的advanced標(biāo)簽 FCKConfig.ImageDlgHideLink = false ; //是否隱藏image窗口的link標(biāo)簽 FCKConfig.ImageDlgHideAdvanced = false ; //是否隱藏image窗口的advanced標(biāo)簽 FCKConfig.FlashDlgHideAdvanced = false ; //是否隱藏Flash窗口的advanced標(biāo)簽 FCKConfig.ProtectedTags = '' ; //添加HTML套用格式 FCKConfig.BodyId = '' ; //設(shè)置編輯器的id FCKConfig.BodyClass = '' ; //設(shè)置編輯器的class FCKConfig.DefaultStyleLabel = '' ; //設(shè)置文本編輯器的風(fēng)格,默認(rèn)為空白文檔 FCKConfig.DefaultFontFormatLabel = '' ; //設(shè)置默認(rèn)格式 FCKConfig.DefaultFontLabel = '' ; //設(shè)置默認(rèn)字體 FCKConfig.DefaultFontSizeLabel = '' ; //設(shè)置默認(rèn)字體大小 FCKConfig.DefaultLinkTarget = '' ; //設(shè)置默認(rèn)鏈接目標(biāo)為(_blank、_self _parent、_top) FCKConfig.CleanWordKeepsStructure = false ; //是否設(shè)置直接粘貼為Word格式 FCKConfig.RemoveFormatTags //刪除文字時(shí)是否刪除相應(yīng)的格式 FCKConfig.RemoveAttributes //刪除文字時(shí)是否刪除相應(yīng)的樣式 FCKConfig.CustomStyles //樣式菜單 FCKConfig.CoreStyles //設(shè)置FCKeditor核心樣式 FCKConfig.IndentLength = 40 ; //編輯器中縮進(jìn)量的長(zhǎng)度 FCKConfig.IndentUnit = 'px' ; //編輯器中縮進(jìn)量的單位 FCKConfig.IndentClasses = [] ; //FCKeditor允許使用CSS縮進(jìn) FCKConfig.JustifyClasses = [] ; //FCKeditor允許使用CSS類文本 var _FileBrowserLanguage = 'php' ; //文件瀏覽器使用的語言 var _QuickUploadLanguage = 'php' ; //快速上傳使用的語言 var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ; //文件瀏覽器擴(kuò)展 var _QuickUploadExtension = _QuickUploadLanguage == 'perl' ? 'cgi' : _QuickUploadLanguage ; //快速上傳擴(kuò)展 FCKConfig.LinkBrowser = true ; //是否允許在插入鏈接時(shí)瀏覽服務(wù)器 FCKConfig.LinkBrowserURL //插入鏈接時(shí)瀏覽服務(wù)器的URL FCKConfig.LinkBrowserWindowWidth //鏈接目標(biāo)瀏覽器窗口寬度 FCKConfig.LinkBrowserWindowHeight //鏈接目標(biāo)瀏覽器窗口高度 FCKConfig.ImageBrowser = true ; //是否關(guān)閉圖片文件瀏覽服務(wù)器的功能 FCKConfig.ImageBrowserURL //圖片文件瀏覽服務(wù)器的URL FCKConfig.ImageBrowserWindowWidth //圖像瀏覽器窗口寬度 FCKConfig.ImageBrowserWindowHeight //圖像瀏覽器窗口高度 FCKConfig.FlashBrowser = true ; //是否關(guān)閉Flash瀏覽服務(wù)器的功能 FCKConfig.FlashBrowserURL //Flash瀏覽服務(wù)器的URL FCKConfig.FlashBrowserWindowWidth //Flash瀏覽器窗口寬度 FCKConfig.FlashBrowserWindowHeight //Flash瀏覽器窗口高度 FCKConfig.LinkUpload = true ; //是否開啟文件上傳的功能 FCKConfig.LinkUploadURL //指定默認(rèn)上傳文件的地址 FCKConfig.LinkUploadAllowedExtensions //設(shè)置允許上傳文件的擴(kuò)展名 FCKConfig.LinkUploadDeniedExtensions = "" ; //設(shè)置允許上傳腳本文件的擴(kuò)展名 FCKConfig.ImageUpload = true ; //是否開啟圖片上傳功能 FCKConfig.ImageUploadURL //指定默認(rèn)上傳圖片文件的地址 FCKConfig.ImageUploadAllowedExtensions //設(shè)置允許上傳圖片文件的擴(kuò)展名 FCKConfig.ImageUploadDeniedExtensions = "" ; //設(shè)置允許上傳圖片腳本文件的擴(kuò)展名 FCKConfig.FlashUpload = true ; //是否開啟Flash上傳功能 FCKConfig.FlashUploadURL //Flash上傳文件的地址 FCKConfig.FlashUploadAllowedExtensions //設(shè)置允許上傳Flash文件的擴(kuò)展名 FCKConfig.FlashUploadDeniedExtensions = "" ; //設(shè)置允許上傳Flash腳本文件的擴(kuò)展名 FCKConfig.SmileyPath //插入表情圖標(biāo)的路徑 FCKConfig.SmileyImages //表情圖標(biāo)的文件名稱 FCKConfig.SmileyColumns = 8 ; //表情窗口顯示表情列數(shù) FCKConfig.SmileyWindowWidth = 320 ; //表情窗口顯示寬度,此窗口會(huì)因?yàn)楸砬槲募母淖兌髡{(diào)整 FCKConfig.SmileyWindowHeight = 210 ; //表情窗口顯示高度,此窗口會(huì)因?yàn)楸砬槲募母淖兌髡{(diào)整 FCKConfig.BackgroundBlockerColor = '#ffffff' ; //編輯器彈出窗口時(shí),背景遮照住的顏色 FCKConfig.BackgroundBlockerOpacity = 0.50 ; //編輯器彈出窗口時(shí),背景遮照住的透明度 FCKConfig.MsWebBrowserControlCompat = false ; FCKConfig.PreventSubmitHandler = false ;