1、FCKeditor 是目前最好的 html 文本编辑器,如果还不明白的话看了下图就知道了效果图:那么为什么说是 FCKeditor 的冰冷之心呢?这不是哗众取宠,主要是说它使用起来有点麻烦,下文就详细说明如何搞定这玩意儿。1.FCKeditor 的官方网站是:目前最新的 FCKeditor 2.4.2版本。请在此页下载:如图所示:要下载 FCKeditor2.4.2.zip 和 FCKeditor.NET 版的2个 zip 包。说明:FCKeditor2.4.2.zip 是其最新的 Javascript 文件和图片什么的;FCKeditor.NET.zip 是 ASP.NET 调用的 DLL
2、在里面。2.分别解压后把 FCKeditor2.4.2.zip 里的 fckeditor 目录整个复制到网站中。3.解压 FCKeditor.NET.zip 包后在 FCKeditor.Net_2.2binDebug 目录里找到FredCK.FCKeditorV2.dll。其他文件没用,把 FredCK.FCKeditorV2.dll 复制到我们的网站,建立一个 Bin 目录。4.引用 FredCK.FCKeditorV2.dll。第一步:第二步:5.导入工具箱。在“工具箱”下右键点击“选择项” 。弹出如图窗口:点击浏览,找到 dll 所在目录。这时发现工具箱里多出 FCKeditor 控件。
3、6.拖拽 FCKeditor 到页面上7.配置 WebConfig“Asp.Net 配置”选项。设置和注释的完整列表在ments 中,该文件通常位于WindowsMicrosoft.NetFrameworkv2.xConfig 中说明:BasePath 是 fckeditor 所在路径,fckeditor 由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。UserFilesPath 是所有上传的文件的所在目录。为什么要设置成/Files 这样而不是/Files,因为 FCKeditor 使用这个值来返回你上传后的文件的相对路径到客户端。否则的话客户访问的时候就会取客户的机
4、器目录而不是 http 形式的目录。建议:Files 要单独做 wwwroot 目录下的一个站点比较好,和我们的站点 FCKEditor 平行。不要把它放 FCKEditor 里,为什么呢?因为 Files 是要让客户有写的权限的,如果放FCKEditor 下很危险。8.Files 目录要有写的权限。你根据自己网站需求设置那个帐号,本文为方便设置 User 实际中你可能用 ASP.NET 帐号更合理。9.修改 fckeditor/fckconfig.js 文件在第182行的位置var _FileBrowserLanguage = asp ; / asp | aspx | cfm | lasso
5、 | perl | php | pyvar _QuickUploadLanguage = asp ; / asp | aspx | cfm | lasso | php改为var _FileBrowserLanguage = aspx ; / asp | aspx | cfm | lasso | perl | php | pyvar _QuickUploadLanguage = aspx ; / asp | aspx | cfm | lasso | php10.FCKeditor 给其瘦身。以_打头的的都是范例文件或源文件,不过建议小心。11.下面以上传图片示例说明如何使用,点击“浏览服务器”
6、。弹出窗口很容易报错如果报错 XML request error: Internal Server Error(500),很可能就是目录路径不对和写权限没有。选择图像最后效果前台代码:FCKeditor 文本编辑器怎么样获取结果呢?FCKeditor1.Value 就是。12.还有个类似的控件 FreeTextBox 也很好用,有兴趣可以自己网上找找,比这个好用多了不过感觉没这个好,而且它的最新版似乎收费了。FCKeditor 精简版的制作方法(附) 。进入 FCKeditor 文件夹,把所有“_”开头的文件和文件夹删掉,这些都是一些范例,只保留 editor 文件夹、fckconfig.js
7、、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了;进入 editor 文件夹,删掉“_source”文件夹,里面放的同样是源文件;退回上一级目录进入 filemanager 文件夹,有 browser 和 upload 两个文件夹。进入browserdefaultconnectors,只保留 aspx 文件夹,其余的删掉;mcpuk 目录亦可删除;upload 也一样,只保留 aspx 文件夹;退到 editor 再进入 images 文件夹,smiley 里面放的是表情图标,有 msn 和 fun 两个系列,如果你想用自己的表情图标,可以把它们
8、都删除;如果你想用这里的表情图标那就不要删了;lang 里面放的是语言包,如果只是用简体中文,那么只保留fcklanguagemanager.js、zh-cn.js 两个文件就行了,建议也保留 en.js(英文) 、zh.js(繁体中文)两个文件,fcklanguagemanager.js 是语言配置文件,有了它才能和fckconfig.js 里的设置成对,对应上相应的语言文件,一定要保留!再退出 lang 文件夹,进入 skins 文件夹,如果你想使用 FCKeditor 默认的奶黄色,那就把除了 default 文件夹外的另两个文件夹直接删除,如果想用别的,那就看你自己的喜好了。至此,文件
9、精简完毕,由原来的2.55M 变成现在的797K 了。接着修改设置。PS:注意一点,当你碰上 xml request 500时候检查一下:1.你的上传目录是否为 EVERYONE 完全控制。2.你的配置文件是否正确,默认应该为你的/虚拟目录/文件夹名称/3.调用页面 PAGE 是否有 validateRequest=false 属性按照上面的方法绝对可以完成。= 我自己总结的方法:=一、下载:()所以我打算做这样一个例子,方便大家在用到这个组件的时候能马上上手。我们要用它,首先我们的手头要先有这个组件(下载 FckEditor_2.5.1) 。因为我学的是.Net,而且也越来越流行,所以我的例
10、子以 Asp.Net 为主。要让 FckEditor 支持.Net 还要下载FckEditor_Net。这个不是最新的版本,最新是 FckEditor2.6,版本不同,但是用法是一样的。那个版本都是一样,在我的例子中我用的是 FckEditor2.5的。附下载文件:FckEditor_2.5.1:FckEditor_Net:FckEditor2.6:二、整理:由于 FckEditor 是支持多语言、多平台的,我们现在要用的是 Asp.Net 所以我们只找出我们要用的东西,其它的我们可以除掉。首先带“_”的文件和文件夹可以不要,它们是一些示例。接下来我们继续给这瘦身。在 fckeditor 文件
11、夹里我们只留下editor、fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml 这五个文件,其它的都除掉。在 Css 里是这个组件用到的样式,我们可以不动它。Dialog 里是一些弹出对话框不要动它,Dta 也不要动。editorfilemanagerconnectors 下面我们只要 Aspx 这一个就够了。这里提供的是我们对上传文件的管理。Lang 我们只要 Zh-cn.js 这个是简体中文,它里面就是所能支持的所有的语言。Js 里面是这个组件的核心,我们更是不能动,Plugins 里面是一些插件,我们不用去管它,在做例子中我们
12、会用到这里面的上传图片插件,而不用它默认的上传功能。Skin 里面有三个皮肤:Default、Office2003,Silver。瘦身到此结束,文件夹大小减小了不少的。最后把 fckeditor 文件夹 Copy 到你的网站根目录下面。一切搞定,接下来配一下 Web.config 和 fckconfig.js,就能像我们常用的用户自定义控件一样的使用了。三、配置:1、 拷贝 FCKeditor.Net_2.6.3.zip 中“FCKeditor.Net_2.6.3“bin“Release“2.0 “FredCK.FCKeditorV2.dll“ 到站点 BIN 目录中。拷贝“FCKeditor
13、_2.6.3 “fckeditor”文件夹到站点根目录;2、 用文本编辑器打开 fckeditorfckconfig.js 文件,开始对编辑器进行配置;var _FileBrowserLanguage = asp ;var _QuickUploadLanguage = asp ;改为var _FileBrowserLanguage = aspx ;var _QuickUploadLanguage = aspx ;3、 配置 web.Config 选项4、设置语言FCKConfig.AutoDetectLanguage = true; /是否自动检测语言。根据用户浏览器的语言设置来显示浏览器的的
14、语言。FCKConfig.DefaultLanguage = zh-cn ; /设置输出的语言。四、在页面中使用:添加页面指令:添加一个控件:或者:在工具箱“添加选项卡“中把 FredCK.FCKeditorV2.dll 引入进来;在需要用的地方拖进来就可以了五、图片或文件上传:FCKeditor 出现“this connector is disabled Please check the“editor/filemanager/connectors/aspx/config.aspx“错误的解决办法我最近在整合 FCK,我也遇到了这个问题。解决办法:打开 editor/filemanager/c
15、onnectors/aspx/config.ascx 修改 CheckAuthentication()方法,返回 trueC# codeprivate 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
16、 very simple as./ return ( Session “IsAuthorized“ != null / . where Session “IsAuthorized“ is set to “true“ as soon as the/ user logs in your system.return true;同时,FCKEditor 针对 image/flash/file/media 上传类型,会各自添加相应的子目录:TypeConfig “Flash“ .FilesPath = “%UserFilesPath%flash/“;TypeConfig “Media“ .FilesPa
17、th = “%UserFilesPath%media/“;你也可以进一步对上述 code 进行扩展,如针对不同的用户,自动建立对应的子目录,将用户的文件进行隔离和分开。示例代码如下:string imagepath = “%UserFilesPath%“ + m_userName + “/image/“;TypeConfig“Image“.FilesPath = imagepath;TypeConfig“Image“.FilesAbsolutePath = (UserFilesAbsolutePath = “ ? “ : “%UserFilesAbsolutePath%image/“);Typ
18、eConfig“Image“.QuickUploadPath = imagepath;TypeConfig“Image“.QuickUploadAbsolutePath = (UserFilesAbsolutePath = “ ? “ : “%UserFilesAbsolutePath%“);最后,还需要修改 FCKEditor 下面的 fckconfig.js 配置文件:找到:FCKConfig.DefaultLanguage =en 改为 FCKConfig.DefaultLanguage =zh-cn找到:var _FileBrowserLanguage = php 改为 var _Fi
19、leBrowserLanguage = aspx找到:var _QuickUploadLanguage= php 改为 var _QuickUploadLanguage = aspxFCKConfig.FontNames = 宋体;黑体;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana ;六、安全设置这样你用的默认功能,用到的上传功能是可以浏览目录的,而且 UploadFiles 这个目录是可写的,这样对于服务器来说是很不安全的。如果你想自定义上传功能,并且有插入源代码的功能。那你就要接着往下看了。
20、打开 fckconfig.js 修改 FCKConfig.ToolbarSets“Default“的值如下:FCKConfig.ToolbarSets“Default“ = Source,DocProps,-,Save,NewPage,Preview,-,Templates,Cut,Copy,Paste,PasteText,PasteWord,-,Print,SpellCheck,Undo,Redo,-,Find,Replace,-,SelectAll,RemoveFormat,/*Form,Checkbox,Radio,TextField,Textarea,Select,Button,Ima
21、geButton,HiddenField*/,/,Bold,Italic,Underline,StrikeThrough,-,Subscript,Superscript,OrderedList,UnorderedList,-,Outdent,Indent,Blockquote,JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,Link,Unlink,Anchor,/*Image,Flash,*/InsertCode,InsertImage,Table,Rule,Smiley,SpecialChar,PageBreak,/,Style,Font
22、Format,FontName,FontSize,TextColor,BGColor,FitWindow,ShowBlocks,-,About,我们注释了原来的 Image,Flash 等等,加入了 InsertCode,InsertImage。这是我们想要的功能。接下来我们得注册这两个功能在文件的最后面这样加两句:FCKConfig.Plugins.Add( insertcodecommands, null, FCKConfig.BasePath + plugins/ ) ;FCKConfig.Plugins.Add( InsertImage, null, FCKConfig.BasePat
23、h + plugins/ ) ;并将 FCKConfig.LinkBrowser = true ;FCKConfig.ImageBrowser = true ;FCKConfig.FlashBrowser = true ;的值修改为 false。到这里,总算是说完了。但是对于这个组件还是有一些问题的,在园子里也找了一下,没有得到解决。希望有高手指点一下:这个组件我还没有做到能上传 Flash 和 Media 。如果报错 XML request error: Internal Server Error(500)(图片上传时) ,考虑一下几点:1. 要上传的文件夹是否存在,2. fckeditor 文件夹的相对位置是否正确,3. fckeditor/fckconfig.js 文件是否修改4.在 IIS 中建立虚拟目录,打开“写入权限”