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

忽然发现自己 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'] 
] ;

(0)

相关推荐

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

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

  • 一个不错的js html页面倒计时可精确到秒

    一个不错的js html页面倒计时可精确到秒,很简单,但和实用 <!doctype html> <html> <head> <meta charset="utf-8"> </head> <body> <DIV id="CountMsg" class="HotDate"> <span id="t_d">00天</span>

  • 一个不错的shell 脚本教程 入门级

    建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用.所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行). 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit.kedit.emacs.vi 等来编写我们的shell程序. 程序必须以下面的行开始(必须方在文件的第一行): #!/b

  • 从一个不错的留言本弄的mysql数据库操作类

    从一个不错的留言本弄的mysql数据库操作类,初学php的朋友可以参考下 复制代码 代码如下: <?php class mysql{     var $querynum = 0;     function connect($dbhost, $dbuser, $dbpw, $dbname = '',$dbcharset='') {         if(!@mysql_connect($dbhost, $dbuser, $dbpw)) {             $this->show('Can

  • 分享Python切分字符串的一个不错方法

    一同事问:有一字符串"abcdefghijklmn"如何用Python来切分,每四个一段,剩下的算一段.字符段切分,首先会想到split()和 re.split()函数,但仔细想了一下,这两个函数又不合适,因为,字符之间并没有空格,逗号,点号,TAB等分隔符,要切割的话很难实现. 只好退而求其次,使用常规方法: >>> s = 'abcdefghijklmn' >>> for i in range(0,len(s),4): print s[i:i+4

  • 一个不错的优化系统的批处理

    复制代码 代码如下: ~~~~~~~~~~~~~~~~~~~~无敌分割线~~~~~~~~~~~~~~~~~~~~~~~~ @echo off  title Windows Xp超级优化工具 VER 2.5 由VCTU鼎力制作!  MODE con: COLS=70 LINES=35  :begin  MODE con: COLS=70 LINES=35  cls  color 0a  echo.  echo Xp超级优化工具 VER 2.5  echo.  echo VCTU/julian.邪鬼

  • FCKEDITOR 的高级功能和常见问题的解决方法

    它可和PHP.JavaScript.ASP.ASP.NET.ColdFusion.Java.以及ABAP等不同的编程语言相结合.FCK的配置和使用都很简单,但是默认的配置不能满足所有的需求,所以我们需要了解一些FCK的高级功能. 获取FCK的实例 FCKeditorAPI是FCKeditor加载后注册的一个全局对象,利用它我们就可以完成对编辑器的各种操作. 在当前页获得 FCK 编辑器实例: var Editor = FCKeditorAPI.GetInstance('InstanceName'

  • javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法

    本文实例讲述了javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法.分享给大家供大家参考.具体分析如下: 这里点击按钮后,弹出一个可关闭的层窗口,随之网页背景变灰,在QQ网站上经常会看到QQ登录的效果,就和这个很类似,代码段基于JavaScript,根据你的情况使用,有时候是用CSS完成的这种功能. <html> <head> <meta http-equiv="Content-Type" content="text/htm

  • linux的一个find命令配合rm删除某天前的文件方法

    语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带"."的文件删除 find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \; find:linux的查找命令,用户查找指定条件的文件 /usr/local/backups:想要进行清理的任意目录 -

  • 一个用jquery写的判断div滚动条到底部的方法【推荐】

    jQuery 里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop.scrollLeft.scrollHeight.其中 scrollHeight 属性,互联网上几乎搜素不到关于它的应用技巧,而我正好需要用到它. 我们现在只探讨和垂直滚动有关的 scrollTop.scrollHeight 属性. 一.滚动条有关属性的正确理解: 假设有以下Html代码: <div id="div1" style="overflow-y:auto; ove

随机推荐