FCKeditor 配置说明
性能[ ]
首先,FCKeditor的性能是非常好的,用户只需很少的时间就可以载入FCKeditor所需文件.对于其他在线编辑器来说,这几乎是个很难解决的难题,因为在开启编辑器时需要装载太多的文件.比如CuteEditor,虽然功能比FCKeditor还要强大,可是,它本身也够庞大了,至于FreeTextBox等,其易用性与FCKeditor相比,尚有差距,可以说,FCKeditor是一个别具匠心的在线编辑器,它里面融入了作者高深的面向对象的JavaScript功力,集易用性与强大的功能与一体。
装载顺序与脚本压缩[ ]
- 与编辑器相关的所有图像,脚本以及调用页
- 语言文件
- 编辑器的皮肤文件
- 工具样的贴图等
以上的内容将导致在服务器和客户端间产生相当的流量。如果有许多文件被调用,那么即便每个文件很小,也会让用户等得不耐烦。
在2.0版中,开发人员有两种方法来解决这个问题。那就是指定装载顺序和脚本压缩。
装载顺序[ ]
从2.0版开始,编辑器按以下步骤装载资源:
- 基本页(就是编辑器所在页)以及装入编辑器的JS脚本
- 用来建立编辑器的脚本
- 编辑器的语言和皮肤.
- 建立编辑器
- 载入预置的编辑文档内容.
- 从现在开始,用户可以阅读和编辑文档了,不过,拖拽支持以及工具栏都是不可用的
- 载入编辑器引擎脚本
- 建立工具栏,并且可用
- 从现在开始,编辑器的所有功能都已经完整
- 载入工具栏图标
脚本压缩[ ]
在打包任何新版本时,编辑器的JavaScript脚本将会进行预处理。预处理步骤如下:
- 移除所有代码注释
- 移除所有无用的空白字符.
- 将脚本合并成几个文件
使用上面的方法,我们可以将脚本文件的大小压缩到原来的50%。压缩后,原始的代码仍然存在于一个名为_Source的文件夹中。
如何打包[ ]
编辑器已经自带了打包程序,它位于FCKeditor的根文件夹中_PACKAGER文件夹中,名为FCKeditor.Packager.exe,将其复制到FCKeditor根文件夹中并运行,即可自动将JS脚本打包并压缩
需要注意的是该程序是一个.NET程序,必须安装.NET FRAMEWORK才能使用
获取支持[ ]
如果你捐赠15000欧元,你就可以获得1年的免费技术支持(比较贵的说,相当于人民币15万,不过西欧的费用相当惊人)
如何安装[ ]
- 1.下载最新版的FCKeditor,下载地址
- 2.解压缩到你的站点根文件夹中名为FCKeditor的文件夹中(名称必须为FCKeditor,因为配置文件中已经使用此名称来标示出 FCKeditor的位置)
- 3.现在,编辑器就可以使用了,如果想要查看演示,可以按下面方法访问: http://<your-site>/FCKeditor/_samples/default.html
注意:你可以将FCKeditor放置到任何文件夹,默认情况下,将其放入到FCKeditor文件夹是最为简单的方法。如果你放入的文件夹使用别的名称,请修改配置文件夹中编辑器BasePath参数,如下所示:
oFCKeditor.BasePath="/Components/FCKeditor/";
另外,FCKeditor文件夹中所有以下划线开头的文件夹及文件,都是可选的,可以安全的从你的发布中删除.它们并不是编辑器运行时必需的
FCKeditor整合[ ]
由于目前的版本提供的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:编辑器初始化内容
- 属性:
- 集合:
- 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="" _fcksavedurl="""" _fcksavedurl="""" 相对链接的基地址
- 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格式