欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

又一个不错的FCKeditor 2.2的安装、修改和调用方法

程序员文章站 2022-03-02 07:52:36
忽然发现自己 blog 的 fckeditor 无法使用,好惊讶!居然看好的 pjblog 也会有不行的时候。马...
忽然发现自己 blog 的 fckeditor 无法使用,好惊讶!居然看好的 pjblog 也会有不行的时候。马上到网上查找,把一些主要的东西 copy 了下来。以下是主要内容
fckeditor的官方网站:www.fckeditor.com
和其他脚本类的程序一样,fckeditor 的安装其实就是源代码的拷贝。
我们按照官方的方法,在网站根目录下建立 fckeditor 这样一个文件夹,
然后把下载下来的文件包释放到该文件夹中。
只对一般的使用(asp环境)进行配置和源文件的精简。

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 中有一个文件浏览,有两个文件上传,而这些设置有些在一个文件中,有的则在多个文件中。比较复杂,改动比较多,我们再分几个小点儿来说。

1)打开和关闭文件浏览和上传功能
有三个文件跟这个开关有关系,一个是 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 


表示文件快速上传打开

2)文件上传或浏览的路径设置
注意 fckeditor 是不支持虚拟目录的,您的所有路径都是针对网站根目录的绝对路径,这点对于在本地测试用虚拟目录,发布到远程用网站目录的开发者不太方便。我的就是这样,winxp 系统只能一个站点,只有用虚拟目录表示不同的网站,在本地测试好了,上传前还要临时更改这个设置。
文件浏览路径,打开文件:
editor\filemanager\browser\default\connectors\asp\config.asp

复制代码 代码如下:

configuserfilespath = "/attachments/" 



快速上传的路径,打开文件:editor\filemanager\upload\asp\config.asp


复制代码 代码如下:

configuserfilespath = "/attachments/" 



我的文件目录在http://www.xxx.com/attachments/下面,就照以上设置。
如果在本地测试这个网站在虚拟目录xxx中,则应该设置为:
复制代码 代码如下:

configuserfilespath = "/xxx/attachments/" 



3)文件快速上传的一个源文件bug
以上设置好后,文件浏览和浏览中上传可以顺利进行,但是你会发现“快速上传”不能用。现象就是当选择好本地文件后,点击“上传至服务器”的按钮后没有任何反应。这就是因为fckconfig.js文件中的一个bug所致。
打开fckconfig.js文件,把fckconfig.quickuploadlanguage字样的地方,替换成_quickuploadlanguage,一共要替换三个地方。前者没有定义就使用,所以有错,按代码意图应该和后者的值一样的。

4)上传文件名自动更名
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,".")(1) 



上面说的是快速上传的文件,而文件浏览中上传则是更改另外一个文件(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对输入数据进行了检测,原始数据如果包含单引号之类的,那么更新数据库会出错。 =====================================
还有一些存疑的地方:
1、文件上传路径问题比较费劲儿,看以后的版本又不有所改进。
2、linkbrowser和linkupload没搞懂什么意思(up2006-3-20:原来插入超级链接的时候,链接的目标文件也是可以上传的,而且这个文件格式默认只规定了不允许上传的格式。其实我们就可以利用这个功能上传rar或doc等等格式的文件)

插入超链接时,在官方的默认配置中只规定了禁止上传的格式,而不是像图片或flash那样规定了允许上传的格式,这点要尤其注意,所以出现您所看到的可以上传“任意”类型的文件。按照配置文件: 

复制代码 代码如下:

fckconfig.linkuploaddeniedextensions = ".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$" ; // empty for no one 


除了这些不允许,其它都是允许的。

关于去掉插入表单的选项,修改fckconfig.js的下面这一段就行了(注释form那一行): 

复制代码 代码如下:

fckconfig.toolbarsets["default"] = [ 
['source','docprops','-','save','newpage','preview','-','templates'], 
['cut','copy','paste','pastetext','pasteword','-','print','spellcheck'], 
['undo','redo','-','find','replace','-','selectall','removeformat'], 
['bold','italic','underline','strikethrough','-','subscript','superscript'], 
['orderedlist','unorderedlist','-','outdent','indent'], 
['justifyleft','justifycenter','justifyright','justifyfull'], 
['link','unlink','anchor'], 
['image','flash','table','rule','smiley','specialchar','pagebreak','universalkey'], 
//['form','checkbox','radio','textfield','textarea','select','button','imagebutton','hiddenfield'], 
'/', 
['style','fontformat','fontname','fontsize'], 
['textcolor','bgcolor'], 
['about'] 
] ;