FCKeditor使用详解

1.下载FCKeditor文件
先在官方网页上下载 FCKeditor 的压缩包 和 FCKeditor 的.net 2.0核心库
下载地址:FCKeditor 的压缩包
http://nchc.dl.sourceforge.net/sourceforge/fckeditor/FCKeditor_2.4.3.zip
FCKeditor 的.net 2.0核心库
http://nchc.dl.sourceforge.net/sourceforge/fckeditor/FCKeditor.Net_2.2.zip
说明:
FCKeditor2.6.3.zip是其最新的文件和图片什么的;
FCKeditor.NET.zip是ASP.NET调用的DLL在里面。

2.分别解压后把FCKeditor2.6.3.zip里的fckeditor目录整个复制到网站中。

3.解压FCKeditor.NET.zip包后在FCKeditor.Net_2.2\bin\Debug目录里找到FredCK.FCKeditorV2.dll,将FredCK.FCKeditorV2.dll添加到工具箱上。

4.完了之后将控件拖到网页上:

5.现在已经完成了添加,现在要根据我们的需要来设置了……
进入FCKeditor文件夹,编辑 fckconfig.js 文件

6. (必须修改)
修改
var _FileBrowserLanguage = ‘asp’ ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ‘asp’ ; // asp | aspx | cfm | lasso | php
改为
var _FileBrowserLanguage = ‘aspx’ ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ‘aspx’ ; // asp | aspx | cfm | lasso | php

7. (必须修改)
配置语言包。有英文、繁体中文等,这里我们使用简体中文。
修改
FCKConfig.DefaultLanguage = ‘en’ ;

FCKConfig.DefaultLanguage = ‘zh-cn’ ;

8.配置皮肤。有default、office2003、silver风格等,这里我们可以使用默认。
FCKConfig.SkinPath = FCKConfig.BasePath + ‘skins/default/’ ;

9.在编辑器域内可以使用Tab键。(1为是,0为否)
FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ;

10.加上几种我们常用的字体的方法
修改
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’

11.基本的属性设置已经差不多了,要设置更多请参考一下属性表:

FCKConfig.CustomConfigurationsPath = ” ; // 自定义配置文件路径和名称     
FCKConfigFCKConfig.EditorAreaCSS = FCKConfig.BasePath + ‘css/fck_editorarea.css’; // 编辑区的样式表文件     
FCKConfig.EditorAreaStyles = ” ; // 编辑区的样式表风格     
FCKConfig.ToolbarComboPreviewCSS =”; //工具栏预览CSS     
FCKConfig.DocType = ” ;//文档类型     
FCKConfig.BaseHref = ”; // 相对链接的基地址     
FCKConfig.FullPage = false ; //是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容     
FCKConfig.StartupShowBlocks = false ;//决定是否启用"显示模块"     
FCKConfig.Debug = false ;//是否开启调试功能     
FCKConfigFCKConfig.SkinPath = FCKConfig.BasePath + ‘skins/default/’ ; //皮肤路径     
FCKConfig.PreloadImages=… //预装入的图片     
FCKConfigFCKConfig.PluginsPath = FCKConfig.BasePath + ‘plugins/’ ; //插件路径     
FCKConfig.AutoDetectLanguage = true ; //是否自动检测语言     
FCKConfig.DefaultLanguage   = ‘zh-cn’ ; //默认语言     
FCKConfig.ContentLangDirection = ‘ltr’ ; //默认的文字方向,可选"ltr/rtl",即从左到右或从右到左     
FCKConfig.ProcessHTMLEntities = true ; //处理HTML实体     
FCKConfig.IncludeLatinEntities = true ; //包括拉丁文     
FCKConfig.IncludeGreekEntities = true ;//包括希腊文     
FCKConfig.ProcessNumericEntities = false ;//处理数字实体     
FCKConfig.AdditionalNumericEntities = ” ;   //附加的数字实体     
FCKConfig.FillEmptyBlocks = true ; //是否填充空块     
FCKConfig.FormatSource   = true ; //在切换到代码视图时是否自动格式化代码     
FCKConfig.FormatOutput   = true ; //当输出内容时是否自动格式化代码     
FCKConfig.FormatIndentator = ‘     ‘ ; //当在源码格式下缩进代码使用的字符     
FCKConfig.StartupFocus = false ; //开启时焦点是否到编辑器,即打开页面时光标是否停留在fckeditor上     
FCKConfig.ForcePasteAsPlainText = false ; //是否强制粘贴为纯文件内容     
FCKConfig.AutoDetectPasteFromWord = true ; //是否自动探测从word粘贴文件,仅支持IE     
FCKConfig.ShowDropDialog = true ;//是否显示下拉菜单     
FCKConfig.ForceSimpleAmpersand = false ;//是否不把&符号转换为XML实体     
FCKConfig.TabSpaces   = 0 ;//按下Tab键时光标跳格数,默认值为零为不跳格     
FCKConfig.ShowBorders = true ;//合并边框     
FCKConfig.SourcePopup = false ;//弹出     
FCKConfig.ToolbarStartExpanded = true ;//启动fckeditor工具栏默认是否展开     
FCKConfig.ToolbarCanCollapse = true ;//是否允许折叠或展开工具栏     
FCKConfig.IgnoreEmptyParagraphValue = true ;//是否忽略空的段落值     
FCKConfig.FloatingPanelsZIndex = 10000 ;//浮动面板索引     
FCKConfig.HtmlEncodeOutput = false ;//是否将HTML编码输出     
FCKConfig.TemplateReplaceAll = true ;//是否替换所有模板     
FCKConfig.ToolbarLocation = ‘In’ ;//工具栏位置,     
FCKConfig.CustomConfigurationsPath = ” ; // 自定义配置文件路径和名称     
FCKConfigFCKConfig.EditorAreaCSS = FCKConfig.BasePath + ‘css/fck_editorarea.css’; // 编辑区的样式表文件     
FCKConfig.BaseHref = ”; // 相对链接的基地址     
FCKConfig.Debug = true/false; // 是否开启调试功能,当调用FCKDebug.Output()时,会在调试窗中输出内容     
FCKConfigFCKConfig.SkinPath = FCKConfig.BasePath + ‘skins/default/’; // 设置皮肤     
FCKConfig.AutoDetectLanguage = true/false ; // 是否自动检测语言     
FCKConfig.DefaultLanguage = ‘zh-cn’ ; // 设置默认语言     
FCKConfig.ContentLangDirection = ‘ltr/rtr’; // 默认文字方向,ltr左,rtr右     
FCKConfig.FillEmptyBlocks = true/false ; // 使用这个功能,可以将空的块级元素用空格来替代     
FCKConfig.FormatSource = true/false; // 切换到代码视图时,是否自动格式化代码     
FCKConfig.FormatOutput = true/false; // 当输出内容时是否自动格式化代码     
FCKConfig.FormatIndentator = ""; // 当在“源码格式”下缩进代码使用的字符     
FCKConfig.GeckoUseSPAN = true/false; // 是否允许SPAN标记代替B,I,U标记     
FCKConfig.StartupFocus = true/false; // 开启时是否FOCUS到编辑器     
FCKConfig.ForcePasteAsPlainText = true/false;// 强制粘贴为纯文本     
FCKConfig.ForceSimpleAmpersand = true/false; // 是否不把&符号转换为XML实体     
FCKConfig.TabSpaces = 0/1; // TAB是否有效     
FCKConfig.TabSpaces = 4; // TAB键产生的空格字符数     
FCKConfig.ShowBorders = true/false; // 是否合并边框     
FCKConfig.ToolbarStartExpanded = true/false; // 页面载入时,工具栏是否展开,点“展开工具栏”时才出现     
FCKConfig.ToolBarCanCollapse = true/false; // 是否允许展开折叠工具栏     
FCKConfig.ToolbarSets = object ; // 编辑器的工具栏,可以自行定义,删减,可参考已存在工具栏     
FCKConfig.EnterMode = ‘p’; // 编辑器中直接回车,在代码中生成,可选为p | div | br     
FCKConfig.ShiftEnterMode = ‘br’; // 编辑器中Shift+回车,在代码中生成,可选为p | div | br     
FCKConfig.ContextMenu = 字符串数组; // 右键菜单的内容     
FCKConfig.FontColors = ""; // 文字颜色列表     
FCKConfig.FontNames = ""; // 字体列表     
FCKConfig.FontSizes = ""; // 字号列表     
FCKConfig.FontFormats = ""; // 文字格式列表     
FCKConfig.StylesXmlPath = ""; // CSS样式列表的XML文件的位置     
FCKConfig.TemplatesXmlPath = ""; // 模版的XML文件位置     
FCKConfig.SpellChecker = "ieSpell/Spellerpages"; // 拼写检查器     
FCKConfig.IeSpellDownloadUrl = ""; // 下载拼写检查器的网址     
FCKConfigFCKConfig.SmileyPath = FCKConfig.BasePath + ‘images/smiley/msn/’; // 表情文件存放路径     
FCKConfig.SmileyImages = ”; // 表情文件名称列表,具体参考默认设置     
FCKConfig.SmileyColumns = 8; // 表情窗口显示表情列数     
FCKConfig.SmileyWindowWidth = 320; // 表情窗口显示宽度,此窗口会因为表情文件的改变而作调整     
FCKConfig.SmileyWindowHeight = 240; // 表情窗口显示高度,此窗口会因为表情文件的改变而作调整     
FCKConfig.FullPage = true/false; // 是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容     

上传设置

var _FileBrowserLanguage         = ‘php’ ;         // asp | aspx | cfm | lasso | perl | php | py       
var _QuickUploadLanguage         = ‘php’ ;         // asp | aspx | cfm | lasso | php[/code]     
//第一个是文件浏览器使用的语言,第二个快速上传使用的语言,改成你需要的     
FCKConfig.LinkUploadAllowedExtensions         = "" ;                         // empty for all     
FCKConfig.LinkUploadDeniedExtensions =".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$"   
//这是两个允许和拒绝上传的文件类型列表     
FCKConfig.ImageBrowser = false ;是否在插入图片功能里面启用服务器文件浏览功能     
FCKConfigFCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=ImageConnector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;     
Type=Image   表示文件类型是image这会使文件浏览器定位到文件上传路径/image/文件夹下面     
FCKConfig.FlashBrowser = false ;是否在插入flash功能中启用服务器文件浏览功能     
FCKConfig.LinkUpload = false ;是否启用插入链接的快速上传功能     
FCKConfig.ImageUpload = false ;是否启用图片快速上传功能     
FCKConfig.FlashUpload = false ;是否启用flash上传功能     

服务器文件设置

文件浏览器的设置:
fckeditor\editor\filemanager\connectors\asp\config.asp

   
ConfigIsEnabled = true 决定是否启用文件浏览器。这个是在服务器上执行的     
ConfigUserFilesPath = "/test/upload/" 上传文件的路径(相对的)     
ConfigAllowedExtensions.Add         "File", ""     
ConfigDeniedExtensions.Add         "File", "php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi"     
ConfigAllowedExtensions.Add         "Image", "jpg|gif|jpeg|png|bmp"     
ConfigDeniedExtensions.Add         "Image", ""     
ConfigAllowedExtensions.Add         "Flash", "swf|fla"     
ConfigDeniedExtensions.Add         "Flash", ""     
ConfigAllowedExtensions.Add         "Media", "swf|fla|jpg|gif|jpeg|png|avi|mpg|mpeg|mp(1-4)|wma|wmv|wav|mid|midi|rmi|rm|ram|rmvb|mov|qt"     
ConfigDeniedExtensions.Add         "Media", ""     

这是4个不同的filetype类型 分别对应了 前台编辑器的 插入链接 插入图片 插入flash 插入媒体 4个功能

12.(必须修改,斜杠必须按照所给的来写,一个也不能少)

配置WebConfig,在节点添加,如下:

<appSettings> 
     <add key="FCKeditor:BasePath" value="/项目名称/fckeditor/"/> 
     <add key="FCKeditor:UserFilesPath" value="/项目名称/userfiles/" /> 
</appSettings> 

BasePath是fckeditor所在路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。UserFilesPath是所有上传的文件的所在目录。

13.(必须修改,凡用到FCKeditor的页面,都必须添加这条语句)
aspx页面:

<%@ Page Language="C#"   AutoEventWireup="true"   CodeFile="Default.aspx.cs" Inherits="_Default" validateRequest="false" %> 

我们要添加一个参数validateRequest=”false”,否则提交带html代码的内容会报错

14.删除我们不需要的文件:
进入FCKeditor文件夹,把所有“_”开头的文件和文件夹删掉,这些都是一些范例,只保留editor文件夹、fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了;
进入editor文件夹,删掉“_source”文件夹,里面放的同样是源文件;
退回上一级目录进入filemanager文件夹,有browser和upload两个文件夹。进入browser\default\connectors,只保留aspx文件夹,其余的删掉;mcpuk目录亦可删除;upload也一样,只保留aspx文件夹;
退到editor再进入images文件夹,smiley里面放的是表情图标,有msn和fun两个系列,如果你想用自己的表情图标,可以把它们都删除;如果你想用这里的表情图标那就不要删了;
lang里面放的是语言包,如果只是用简体中文,那么只保留fcklanguagemanager.js、zh-cn.js两个文件就行了,建议也保留en.js(英文)、zh.js(繁体中文)两个文件,fcklanguagemanager.js是语言配置文件,有了它才能和fckconfig.js里的设置成对,对应上相应的语言文件,一定要保留!
再退出lang文件夹,进入skins文件夹,如果你想使用FCKeditor默认的奶黄色,那就把除了default文件夹外的另两个文件夹直接删除,如果想用别的,那就看你自己的喜好了。

15。用法:FCKeditor1.Value 就是他的值了……

16.aspx目录下的config.ascx文件的设置(FCKeditor在ASP。NET中上传图片设置)

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; //默认的是false
}

注意:

出现Error loading “/我的论坛/fckeditor/fckstyles.xml”的解决方法

但都没有解决我的问题。一直出现Error loading “/我的论坛/fckeditor/fckstyles.xml”后来无奈之下放弃fckeditor,使用了FreeTextBox。
之后我下载过几个实例学习,发现实例用的都是FCKeditor,我把里面的fckeditor文件夹拷贝到我写的网站里,还是出现那个错误,这说明不是fckeditor的配置文件出问题,是我的网站项目问题。
后来随便创建了一个网站名字ceshi,把fckeditor放进去,居然正常运行!
受到这个启发,我把以前的名字“我的论坛”改成“MyBBS”,正常运行,也没有报错了!!!
错误的原因就在:项目文件名不能是中文,否则不能正常读取fckstyles.xml文件!