一、精简文件(以asp版的FCKeditor为例)
1、先把以“_”为开头的文件夹统统删除,这些文件夹里放的是范例或是一些其它工具。只保留editor文件夹、fckconfig.js、fckeditor.asp、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以。
2、进入editor文件夹
3、进入lang文件夹内,只保留zh-cn.js、en.js、zh.js这三个文件,zh-cn.js是简体中文语言包,en.js就不用说了吧,zh.js是繁体中文的。
4、 退出lang文件夹,进入skin文件夹,如果你想使用fckeditor默认的这种奶黄色,那就把除了default文件夹外的另两个文件夹直接删除, 如果想用别的,那就自己考虑了,不过我给你个建议,如果不想用默认的,那就选那个silver,因为银色也就是灰色和任何颜色配起来都不会难看,而那个 office2003的皮肤,反正我是非常不喜欢的,并且图片相对也比较大,又增加了下载时间,不要!
5、退出skin文件夹,再进入 filemanager,先进入到filemanager/browser/default/connectors/下,因为我是用的asp的,所以除 asp文件夹外,全部删除。然后再进入filemanager/upload/下,同样,只留asp文件夹。
二、修改配置
1、fckconfig.js
(1)、FCKConfig.DefaultLanguage
FCKConfig.DefaultLanguage = 'en' ;改为 FCKConfig.DefaultLanguage = 'zh-cn' ;设置默认语言为简体中文
(2)、FCKConfig.ToolbarSets["Basic"]
如果你的编辑器还用在网站前台的话,比如说用于留言本或是日记回复时,那就不得不考虑安全了,在前台千万不要使用Default的toolbar,要么自定义一下功能,要么就用系统已经定义好的Basic,也就是基本的toolbar,内容可以修改。
(3)、FCKConfig.ContextMenu
fckeditor支持编辑域内的鼠标右键功能,为了安全,最好也更改一下。把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?
(4)、FCKConfig.FontNames
加上几种我们常用的字体
(5)、FCKConfig.SmileyPath
如果你还想用自己的表情图标的话,那跳改掉这个表情图标的文件夹地址,以及下面的表情图标的文件名,再下面那三个数字是每行显示表情数及弹出窗口的宽和高了,这个的大小要根据您的表情图标排列的窗口的大小而定了。
2、fckeditor.asp
(1)、sBasePath
编辑器位置,即fckeditor.asp所在的目录
3、fckeditor.js
(1)、this.BasePath
编辑器位置,同fckeditor.asp所在的目录
4、editor/filemanager/browser/default/connectors/asp/config.asp (此文件设置上传)
(1)、ConfigIsEnabled
改为ConfigIsEnabled = True,否则不能上传文件。
(2)、ConfigUserFilesPath
按使用情况设置目录
5、editor/filemanager/upload/asp/config.asp (此文件设置快速上传)
(1)、ConfigIsEnabled
改为ConfigIsEnabled = True,否则不能上传文件。
(2)、ConfigUserFilesPath
按使用情况设置目录
6、editor/filemanager/upload/asp/upload.asp
(1)、找到下面的代码
Dim resourceType
If ( Request.QueryString("Type") <> "" ) Then
resourceType = Request.QueryString("Type")
Else
resourceType = "File"
End If
在后面加入代码 ConfigUserFilesPath = ConfigUserFilesPath & resourceType &"/"
这样,上传的文件就可以按文件类型分目录存储了。
1、默认语言
打开fckconfig.js文件(相对FCKeditor文件夹,以下同),把自动检测语言改为不检测,把默认语言改为简体中文:
程序代码
FCKConfig.AutoDetectLanguage = false ;
FCKConfig.DefaultLanguage = 'zh-cn' ;
2、字体列表
打开fckconfig.js文件,在字体列表中添加常用的“宋体;黑体;隶书;楷体_GB2312”:
程序代码
FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
3、文件上传
FCKeditor的文件管理程序在filemanager文件夹中,又分为浏览(browser)和上传(upload)两 种。浏览是指浏览服务器文件并可以选择,也可以上传本地文件至服务器;上传是指快速上传(QuickUpload),在窗口中点“上传”选项卡打开就是, 跟我们使用的UBB编辑器有点相似,选择本地文件后上传就行。
也就是说FCKeditor中有一个文件浏览,有两个文件上传,而这些设置有些在一个文件中,有的则在多个文件中。比较复杂,改动比较多,我们再分几个小点儿来说。
①打开和关闭文件浏览和上传功能
有三个文件跟这个开关有关系,一个是js文件,两个是asp文件,前者关闭后界面中不出现相关窗口或按钮,后者关闭后相关功能不可用。
首先是fckconfig.js文件,以下内容设为true为开,false则为关。
文件浏览和浏览中上传功能:
程序代码
FCKConfig.LinkBrowser = false ;
FCKConfig.ImageBrowser = false ;
FCKConfig.FlashBrowser = false ;
文件快速上传功能:
程序代码
FCKConfig.LinkUpload = true ;
FCKConfig.ImageUpload = true ;
FCKConfig.FlashUpload = true ;
其次设置两个asp文件:
editor/filemanager/browser/default/connectors/asp/config.asp
程序代码
ConfigIsEnabled = False
表示文件浏览关闭
editor/filemanager/upload/asp/config.asp
程序代码
ConfigIsEnabled = True
表示文件快速上传打开
②文件上传或浏览的路径设置
注意FCKeditor是不支持虚拟目录的,您的所有路径都是针对网站根目录的绝对路径,这点对于在本地测试用 虚拟目录,发布到远程用网站目录的开发者不太方便。我的就是这样,WinXP系统只能一个站点,只有用虚拟目录表示不同的网站,在本地测试好了,上传前还 要临时更改这个设置。
文件浏览路径,打开文件editor/filemanager/browser/default/connectors/asp/config.asp:
程序代码
ConfigUserFilesPath = "/attachments/"
快速上传的路径,打开文件editor/filemanager/upload/asp/config.asp:
程序代码
ConfigUserFilesPath = "/attachments/"
我的文件目录在http://127.0.0.1/temp/ 下面,就照以上设置。如果在本地测试这个网站在虚拟目录xxx中,则应该设置为:
程序代码
ConfigUserFilesPath = "/127.0.0.1/temp/"
③文件快速上传的一个源文件BUG
以上设置好后,文件浏览和浏览中上传可以顺利进行,但是你会发现“快速上传”不能用。现象就是当选择好本地文件后,点击“上传至服务器”的按钮后没有任何反应。这就是因为fckconfig.js文件中的一个bug所致。
打开fckconfig.js文件,把FCKConfig.QuickUploadLanguage字样的地方,替换成_QuickUploadLanguage,一共要替换三个地方。前者没有定义就使用,所以有错,按代码意图应该和后者的值一样的。
④上传文件名自动更名
FCKeditor不支持中文文件名称,所以我们要让文件存入服务器时更改名称。由于有两个上传的地方,而且所用文件 不同,所以两个文件应该同时改,我们先来看看快速上传的文件,打开editor/filemanager/upload/asp/upload.asp, 在文件最后添加以下函数:
程序代码
Public Function GetNewFileName()
dim ranNum
dim dtNow
dtNow=Now()
randomize
ranNum=int(90*rnd)+10
GetNewFileName=year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum
End Function
我们用年月日时分秒和两位随机数字来作为文件名,这样既能够分辨出文件上传时间,也不容易重名。
然后仍然是这个文件,找到:
程序代码
' Get the uploaded file name.
sFileName = oUploader.File( "NewFile" ).Name
把它改为:
程序代码
' Get the uploaded file name.
sFileName = GetNewFileName() &"."& split(oUploader.File( "NewFile" ).Name,".")
上面说的是快速上传的文件,而文件浏览中上传则是更改另外一个文件(editor/filemanager/browser/default/connectors/asp/commands.asp),其修改方法和上面那个文件一样:添加一个函数,修改一行代码。
4、在ASP源程序中引用FCKeditor编辑器
首先在asp页面顶端插入服务器端包含语句:
程序代码
<!--#include file="FCKeditor/fckeditor.asp" -->
然后在表单里面添加以下代码:
程序代码
' 定义变量
Dim oFCKeditor
' 类的初始化
Set oFCKeditor = New FCKeditor
' 定义路径(默认路径:/FCKeditor/)
oFCKeditor.BasePath="FCKeditor/"
' 定义工具条(默认为:Default)
oFCKeditor.ToolbarSet="Basic"
' 定义宽度(默认宽度:100%)
oFCKeditor.Width="100%"
' 定义高度(默认高度:200)
oFCKeditor.Height=350
' 输入框的初始值
oFCKeditor.Value="这是示例文本。"
' 创建输入框名为:content
oFCKeditor.Create "content"
这样就在表单里面创建了一个隐藏的名称为content的输入框,可以和其他表单元素一样使用,例如用以下代码取得该输入框的值:
程序代码
Dim content
content=CheckStr(Request.Form("content"))
以上用CheckStr对输入数据进行了检测,原始数据如果包含单引号之类的,那么更新数据库会出错。