在线富文本编辑器FckEditor配置(.Net Framework 3.5)

时间:2023-03-08 16:58:02

进入FCKeditor文件夹,编辑 fckconfig.js 文件。
1、上传设置  。  
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上传功能     
2、配置语言包。有英文、繁体中文等,这里我们使用简体中文。
修改
FCKConfig.DefaultLanguage = 'en' ;

FCKConfig.DefaultLanguage = 'zh-cn' ;
3、配置皮肤。有default、office2003、silver风格等,这里我们可以使用默认。
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
4、在编辑器域内可以使用Tab键。(1为是,0为否)
FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ;
5、加上几种我们常用的字体的方法,例如:
修改
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'
6、编辑器域内默认的显示字体为12px,想要修改可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,修改font-size属性即可。如font-size: 14px;

7、文件浏览器的设置:     
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个功能;

8、基本的属性设置已经差不多了,要设置更多请参考一下属性表: 
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间的内容

9、配置WebConfig,在<appSettings>节点添加,如下:

<appSettings>
<!-- FCK富文本编辑器的配置 -->
<add key="FCKeditor:BasePath" value="~/Editor/FckEditor/"/>
<add key="FCKeditor:UserFilesPath" value="/Upload/"/>
  </appSettings>

BasePath是fckeditor所在路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。
UserFilesPath是所有上传的文件的所在目录。为什么要设置成/Files这样而不是~/Files,因为FCKeditor使用这个值来返回你上传后的文件的相对路径到客户端。否则的话客户访问的时候就会取客户的机器目录而不是http形式的目录。

10、把FredCK.FCKeditorV2.dll复制到Bin目录下,并且 <pages validateRequest="false">或者直接在aspx页面加validateRequest="false" ;

11、aspx页面:

在页面头部加上:<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>

内容部分:

<li class="t4">
<FCKeditorV2:FCKeditor ID="content1" runat="server" DefaultLanguage="zh-cn" Height="" Width="">
</FCKeditorV2:FCKeditor>
</li>
<li class="t5">
<asp:Button ID="btnSend" runat="server" Text="上 传" CssClass="mBtn" OnClientClick="return CheckTextBox()" OnClick="btnSend_Click" />
</li>

后台部分:

protected void btnSend_Click(object sender, EventArgs e) {
if (this.content1.Value.Trim().Length == ) {
HelperJS.Show(this.Page, "描述内容不能为空!");
return;
}
else
SaveDataInfo();
}
protected void SaveDataInfo() {
string judge = Request.QueryString["action"]; //如果action为空,表示发布,action为e表示更新
if (string.IsNullOrEmpty(judge)) {
string sql = "insert into aboutus (typeName,aboutContent) values ('" + txtCName.Text.Trim() + "','" + content1.Value.Trim() + "')";
if (Helper.HelperExecuteSql.ExecuteSql(sql) > ) {
HelperJS.Show(this.Page, "发布成功!");
return;
}
else {
Helper.HelperJS.Show(this.Page, "发布失败!");
return;
}
}
if (judge == "e") { string sql = "update aboutus set typeName='" + txtCName.Text.Trim() + "',aboutContent='" + content1.Value.Trim() + "' where ID='" + Request.QueryString["id"].ToString() + "'";
if (Helper.HelperExecuteSql.ExecuteSql(sql) > ) {
HelperJS.Show(this.Page, "更新成功!");
return;
}
else {
Helper.HelperJS.Show(this.Page, "更新失败!");
return;
}
}