FCKEditor在.net安装,部署(最新整理)
FCKeditor一款开放源码的HTML文本编辑器,它在ASP.NET下一般的安装和使用方法如下: 1、下载FckEditor 2.4,它主要包括核心文件。 2、下载FckEditor 2.2 .Net ,包括ASP.NET的DLL文件,并且解压到任意目录。 3、解压FckEditor 2.4 压缩包,将文件夹FCKeditor复制到网站的根目录,这里以ASP.NET 2.0的test项目为例,将其复制到test的根目录,并且在根目录下新建uploads目录用来存放编辑器上传得文件。 4、修改js配置.打开FCKeditor目录下的fckconfig.js文件,将FCKConfig.DefaultLanguage的值改为zh-cn使其的界面语言改变为简体中文,_FileBrowserLanguage和_QuickUploadLanguage的值都改为aspx。可选的修改如下,可以修改编辑器的skin,将FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' 的default可以该为office2003或者silver。保存修改,关闭文件。 5、配置web.config. <appSettings> <add key="FCKeditor:BasePath" value="~/FCKeditor/"/> <add key="FCKeditor:UserFilesPath" value="/你的项目名称/uploads" /> </appSettings> 设置了FCKeditor:BasePath后就不用再每次使用FCKeditor实例时指定BasePath属性了,FCKeditor:UserFilesPath则是制定我们所有上传的文件的所在目录。你也许会问为什么要设置成/test/uploads这样而不是~/uploads,因为FCKeditor使用这个值来返回你上传后的文件的相对路径到客户端,~/uploads的形式是ASP.NET在服务可以编译解释的,但是在客户端的静态就不懂这是什么了。如果使用~/uploads后,那么所有上传文件的返回路径都是~/uploads形式的,你就会得到这样的链接http://~/uploads/Image/logo.gif这样的链接解果就是路径为找到。所以才要我们上述那样设置,这是在开发阶段,如果在工程完成后发布时请记住把/test/uploads改成/uploads,道理不说大家也明白,开发阶段VS2005在运行项目时的URL是http://localhost/项目名称/的形式,发布后在Server上建立站点,跟路径就是http://www.abc.com/的形式了,所以发布后一定要改过来。这些地方是在使用FCKeditor2.2+ASP.NET2.0时经常发错误而又莫名其所云的地方。 6、在项目中引用刚才解压的FCKeditor.NET压缩包里的FredCK.FCKeditorV2.dll文件。具体位置是 FCKeditor.Net_2.2/bin/release/FredCK.FCKeditorV2.dll 7、注册用户控件.打开test项目的default.aspx页面,在 程序代码 下面加入以下代码 程序代码 然后就可以在default.aspx页面使用这个控件了: 程序代码 8、如何取得编辑器中的文本。 9、FCKeditor控件的属性和事件。 AutoDetectLanguage 具体的事件列表如下: OnDataBinding 10、其他 官方网站的support上提到,如果使用asp.net 2.0和theme,那么需要打开\editor\filemanager\upload\aspx\upload.aspx和\editor\filemanager\browser\default\connectors\aspx\connector.aspx文件,并且在第一行中加入Theme="" 。比如 程序代码 官方网站: 另外参考:
http://www.cnblogs.com/dsclub/archive/2006/05/06/392337.html ----------------------------------------------------------------------------------------- 由于目前的版本提供的FCKEDITOR仅提供了JAVASCRIPT式的整合,因此,这里仅讲述如何应用JAVASCRIPT来整合FCKEDITOR到站点中,当然,其他各种语言的整合,你可以参考_samples文件夹中的例子来完成
1,假如编辑器已经安装在你的站点的/FCKEDITOR/文件夹下.那么,第一步我们需要做的就是在页面的HEAD段中放入SCRIPT标记以引入JAVASCRIPT整合模块.例如: <script type="text/javascript" src="/fckeditor/fckeditor.js"></script> 其中路径是可更改的
2,现在,FCKEDITOR类已经可以使用了.有两个方法在页面中建立一个FCKEDITOR编辑器:
方法1:内联方式(建议使用):在页面的FORM标记内需要插入编辑器的地方置入以下代码: script type="text/javascript"> var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ; oFCKeditor.Create() ; </script> 方法2:TEXTAREA标记替换法(不建议使用):在页面的ONLOAD事件中,添加以下代码以替换一个已经存在的TEXTAREA标记
<html>
<head> <script type="text/javascript"> window.onload = function() { var oFCKeditor = new FCKeditor( 'MyTextarea' ) ; oFCKeditor.ReplaceTextarea() ; } </script> </head> <body> <textarea id="MyTextarea" name="MyTextarea">This is <b>the</b> initial value.</textarea> </body> </html> 3.现在,编辑器可以使用了
FCKEDITOR类参考:
下面是用来在页面中建立编辑器的FCKEDITOR类的说明 构造器:
FCKeditor( instanceName[, width, height, toolbarSet, value] ) instanceName:编辑器的唯一名称(相当于ID) WIDTH:宽度 HEIGHT:高度 toolbarSet:工具条集合的名称 value:编辑器初始化内容 属性:
instanceName:编辑器实例名 width:宽度,默认值为100% height:高度,默认值是200 ToolbarSet:工具集名称,参考FCKCONFIG.JS,默认值是Default value:初始化编辑器的HTML代码,默认值为空 BasePath:编辑器的基路径,默认为/Fckeditor/文件夹,注意,尽量不要使用相对路径.最好能用相对于站点根路径的表示方法,要以/结尾 CheckBrowser:是否在显示编辑器前检查浏览器兼容性,默认为true DisplayErrors:是否显示提示错误,默为true; 集合:
Config[Key]=value; 这个集合用于更改配置中某一项的值,如 oFckeditor.Config["DefaultLanguage"]="pt-br"; 方法:
Create() 建立并输出编辑器 RepaceTextArea(TextAreaName)
用编辑器来替换对应的文本框 如何配置FCKEDITOR?
FCKEDITOR提供了一套用于定制其外观,特性及行为的设置集.主配置文件名为Fckconfig.js 你既可以编辑主配置文件,也可以自己定义单独的配置文件.配置文件使用JAVASCRIPT语法. 修改后,在建立编辑器时,可以使用以下语法:
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ; oFCKeditor.Config['CustomConfigurationsPath'] = '/myconfig.js' ; oFCKeditor.Create() ; 提醒:当你修改配置后,请清空浏览器缓存以查看效果
配置选项:
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标记 如何自定义样式列表呢?
FCKEDITOR的样式工具栏中提供了预定义的样式,样式是通过XML文件定义的,默认的XML样式文件存在于FCkEditor根文件夹下的FckStyls.xml文件中 这个XML文件的结构分析如下: <?xml version="1.0" encoding="utf-8" ?> <Styles > <Style name="My Image" element="img"> <Attribute name="style" value="padding: 5px" /> <Attribute name="border" value="2" /> </Style > <Style name="Italic" element="em" /> <Style name="Title" element="span"> <Attribute name="class" value="Title" /> </Style > <Style name="Title H3" element="h3" /> </Styles> 每一个STYLE标记定义一种样式,NAME是显示在下拉列表中的样式名,ELEMENT属性指定此样式所适用的对象,因为FCKEDITOR中的样式是上下文敏感的,也就是说,选择不同的对象,仅会显示针对这类对象定义的样式
拼写检查
FCKEDITOR带了两种拼写检查工具,一种是ieSpell,默认情况下使用这种,使用这种方式的拼写检查,要求客户下载并安装iespell这个小软件,另外,也提供SpellPager的方式来进行拼写检查,不过,由于SPELLPAGER是由PHP编写的服务器端脚本,因此,要求你的WEB服务器必须支持PHP脚本语言方可
更改拼写检查器的方式请参见有关配置文件的详细说明 压缩脚本
为了提供脚本载入的效率,FCKEDITOR采用以下方法对脚本尽量压缩以减少脚本尺寸:
1,移除掉脚本中的注释 2.移除掉脚本中所有无意义的空白 另外,FCKEDITOR还提供了一个专门用于压缩脚本的工具以便 你在发布时能减小文件尺寸, 你可以将_Packager文件夹中的Fckeditor.Packager.exe复制到FCKEDITOR根文件夹来运行并压缩脚本 本地化FCKEDITOR
如果FCKEDITOR没有提供您所需要的语言(实际上全有了),你也可以自行制作新的语言 ,你只需要复制出EN.JS,然后在其基础上进行翻译.另外,语言名称与对应的脚本文件名必须遵循RFC 3066标准,但是,需要小写,例如:Portuguess Language对应的脚本文件名必须为pt.js 如果需要针对某个国家的某种语系,则可以在语系缩写后加上横线及国家缩写即可 在使用时,系统会自动侦测客户端语系及国别而运用适当的界面语言.
当建立一种新的语言后,你必须在"Edit/lang/fcklanguagemanager.js"中为其建立一个条目,如下所示:
FCKLanguageManager.AvailableLanguages = { en : 'English',
pt : 'Portuguese' } 需要提醒的是,文件必须保存为UTF-8格式
如何与服务器端脚本进行交互?
请查看例子以得到相关内容 另外,在ASP.NET中以以下步骤使用
1.把FCKEDITOR添中到工具箱 2.托拽FCKEDITOR控件到页面 3.为其指定名称 4.FCKEDITOR类的所有属性不光可以在代码中使用,而且可以作为FCKEDITOR控件的属性直接使用,例如,要改变皮肤,可以在UI页面中指定SkinPath="/fckeditor/editor/skins/office2003"即可,其实FCKEDITOR的ASP.NET版本可以做得更好,你可以找到FCKEDITOR ASP.NET 2.1的源文件,然后修改该控件的设计,为其暴露更多有用的属性,重新编译即可 5,POSTBACK后的数据,使用FCKEDITOR控件的value属性获得 6.由于默认状态下,ASP.NET不允许提交含有HTML及JAVASCRIPT的内容,因此,你必须将使用FCKEDITOR的页面的ValidateRequest设为false.(<%@page validteRequest="false" %>即可) -------------------------------------------------------- 附:
一、如何设置上传文件语言
把FCKeditor根目录下面的fckconfig.js文件里
var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php 这两行中改成您所需要调用的编辑器语言,如用asp.net则改为aspx;
二、解决中文的问题: 在web.config中加入: <globalization requestEncoding="GB2312" responseEncoding="GB2312"/> 这样设置后可以显示中文的文件,但URL地址也是中文的; 如果服务器对中文地址的解析不好,可能导致图片无法浏览; 所以修改:editor\filemanager\browser\default\frmresourceslist.html 中的OpenFile函数,把 window.top.opener.SetUrl( fileUrl ) ; 修改为: window.top.opener.SetUrl( escape(fileUrl) ) ; 三.设置上传的目录: 1:在web.config中设置: <appSettings> <add key="FCKeditor:UserFilesPath" value="/fck/UpLoad/" /> </appSettings> 2:在Session中设置:
在editor\filemanager\browser\default\connectors\aspx\connector.aspx中加入以下代码: <script runat="server" language="C#"> protected override void OnInit(EventArgs e) { Session["FCKeditor:UserFilesPath"] = "/fck/UpLoad1/"; } </script> 附:如何在asp.net中动态设置上传图片的路径?
1.在javascript中修改FCKConfig.ImageBrowserURL的值,修改方式如下: FCKConfig.ImageBrowserURL += "?Path=要上传的文件路径"; 如:要把文件上传到站点根目录的UploadFile文件夹中,则设置为: FCKConfig.ImageBrowserURL += "?Path=/UploadFile"; 2.在"editor\filemanager\browser\default\connectors\aspx\connector.aspx"文件最后中增加以下程序: <script runat="server" language="C#"> protected override void OnInit(EventArgs e) { if( Request.QueryString["Path"]==null ){ Session["FCKeditor:UserFilesPath"] = "/UpLoadFiles/"; //设置默认值 }else{ Session["FCKeditor:UserFilesPath"] = Request.QueryString["Path"]; |