解密FCKeditor 2.0 的设置.修改.使用方法

今天找了下fckeditor的修改方法,因为他的代码太乱了,比ewebeditor的易用性与可修改型确实太差了,只要求助各位网友的以前的修改方法,方便修改
FCKeditor 2.0版终于出来了,之所以用“终于”这个词,是因为在这一版本上加上了众望所归的FLASH插入功能。可以说在所有的在线编辑器中,FCKeditor是目前互联网上最好的编辑器,功能强大,支持多种浏览器,无平台限制,可以和多种WEB语言融合,多语言支持,开源等~~

对于一个全新的网站,FCKeditor就可以直接拿过来用了,不需要进行什么修改。但是对于绝大多数的已有网站而言,FCKeditor的一些设置并不适合自己的使用,这篇文章旨在告诉你简单的修改FCKeditor以方便您的网站的使用。

第一项工作就是对这个功能宏大的编辑器进行精简,当然是文件精简而非功能精简化。在这里我以asp版的FCKeditor为例进行,进入到FCKeditor 2.0文件夹下,先把以“_”为开头的文件夹统统删除,这些文件夹里放的是范例或是一些其它工具。其实也就是只保留editor文件夹、fckconfig.js、fckeditor.asp、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了,最外层的精简化完毕,进入到editor文件夹内,先把“_source”文件夹删除,这里是一些源文件,对于使用来说没什么用处。

进入images文件夹,删除smiley文件夹,些文件是放表情图标的,由于接下来我会用我自己的表情图标,先把他们的删除,当然,如果你想用这里的表情图标那就不要删掉了。退出 images再进入lang文件夹内,这里的东西可以来个大清洗了,只保留fcklanguagemanager.js、zh-cn.js、en.js、zh.js这四个文件,第一个文件是语言配置文件,有了它才能和fckconfig.js里的设置成对对应上相应的语言文件,zh-cn.js是简体中文语言包,en.js就不用说了吧,zh.js是繁体中文的。怎么样?一下子少了几百K,爽吧~

再退出lang文件夹,进入skin文件夹,如果你想使用fckeditor默认的这种奶黄色,那就把除了default文件夹外的另两个文件夹直接删除,如果想用别的,那就自己考虑了,不过我给你个建议,如果不想用默认的,那就选那个silver,因为银色也就是灰色和任何颜色配起来都不会难看,而那个office2003的皮肤,反正我是非常不喜欢的,并且图片相对也比较大,又增加了下载时间,不要!

精简的最后一步,退出skin文件夹,再进入filemanager,如果你用的不是最新版的fckeditor的话,那这里就一个文件夹browser,新版的还有一个upload文件夹。一个个来,先进入到filemanager/browser/default/connectors/下,因为我是用的asp的,所以除asp文件夹外,全部删除。然后再进入filemanager/upload/下,同样,只留asp文件夹,至此,编辑器的精简化已经结束了,接下来,我们对编辑器进行设置修改。

第一个修改的文件,也就是fckeditor总配置文件,位于根目录下的fckconfig.js文件。请根据下面的列表进行(以fckeditor 2.0版的为准):

找到第20行 FCKConfig.DefaultLanguage = 'en' ;改为 FCKConfig.DefaultLanguage = 'zh-cn' ;设置默认语言为简体中文
找到第40行 FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ; 即在编辑器域内可以使用Tab键。

如果你的编辑器还用在网站前台的话,比如说用于留言本或是日记回复时,那就不得不考虑安全了,在前台千万不要使用Default的toolbar,要么自定义一下功能,要么就用系统已经定义好的Basic,也就是基本的toolbar,
找到第64行:


代码如下:

FCKConfig.ToolbarSets["Basic"] = [
['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']
] ;

这是我改过的Basic,把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?但是光这样还不行,fckeditor还支持编辑域内的鼠标右键功能。

找到 第77行:

FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

加上几种我们常用的字体 FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

接下来就设置上传功能了,还是以ASP为例,其实fck默认的就是asp的,把100行以下的所有被注释掉的代码全部删掉就行,然后再把下面所有有关于browser.html和upload.asp的后面的?Type=XX都改成Type=YY,其中YY为你想保存文件的文件夹名称。

而如果你还想用自己的表情图标的话,那跳到131行,改掉那个表情图标的文件夹地址,以及下面的表情图标的文件名,再下面那三个数字是每行显示表情数及弹出窗口的宽和高了,这个的大小要根据您的表情图标排列的窗口的大小而定了。OK,总配置文件修改结束。

接下来是编辑器位置的设置,我的习惯是把editor放在根目录下,最开始所述的五个文件也放在根目录下(Tips:建议放在根目录下,并且建议使用时设置路径也采用绝对路径,如"/fckeditor/",而我的习惯的设置是"/"),这样有利于fckeditor的更新升级,并且网站下所有文件夹都可以任意调用,不存在其它文件夹名变了而其它地方就无法使用编辑器的问题。

打开fckeditor.asp文件,找到 sBasePath = "/fckeditor/"改为 sBasePath = "/"
打开fckeditor.js文件,找到 this.BasePath = '/fckeditor/' ;改为 this.BasePath = '/' ;

编辑器域内默认的显示字体为12px,而我的主页默认字体为14px,所以看着就很不舒服,想要修改可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,把第4行改为 font-size: 14px;即可。

接下来就是上传文件的设置了,这个比较麻烦,请仔细操作。

打开\editor\filemanager\browser\default\frmresourcetype.html,找到第15行,插入“ ['uploadfile','uploadfile'],”配合上刚才在fckconfig.js里的设置,那么我的上传文件路径就是/uploadfile,当然你也可以改成你想要的文件夹,但这里的名称一定要和fckconfig.js里的那个“Type=YY”里的YY一致才行。

还没完,继续进入到editor\filemanager\browser\default\connectors\asp,打开config.asp,先把ConfigIsEnabled = False改成为ConfigIsEnabled = True,要不是没法上传文件的,再把ConfigUserFilesPath = "/UserFile"改成我想要的ConfigUserFilesPath = "/"。
接着在“Set ConfigDeniedExtensions = CreateObject( "Scripting.Dictionary" )”后面加入
ConfigAllowedExtensions.Add "uploadfile", ""
ConfigDeniedExtensions.Add "uploadfile", ""

同理,这里的设置也是要和上面以及fckconfig.js里面对应的。

还有一个上传,就是快速上传,这个功能是在fckeditor 2.0里才有的,以前的版本没这个功能。进入\editor\filemanager\upload\asp,同样打开config.asp,也同样的把ConfigIsEnabled = False 设置成 ConfigIsEnabled = True,我这里把ConfigUserFilesPath = "/UserFiles/"改成我想要的 ConfigUserFilesPath = "/uploadfile/"& Year(Date()) &"-"& Month(Date()) &"/",因为我的上传文件是放在uploadfile文件夹下,并且是按月分开放置的。快速上传,不会让你选择文件夹,而是通过这里的设置直接上传的,这儿设置如果和前面的设置配合不好的话,你的文件就会被上传得乱七八糟,很不方便管理。接前重复前一个config.asp里的操作,在后面加上

ConfigAllowedExtensions.Add "uploadfile", ""
ConfigDeniedExtensions.Add "uploadfile", ""

接下来呢,就讲一下如何创建自己的在线编辑器,这里以ASP和JS版的为例,ASP版示例代码,一般用于后台操作:

代码如下:

<% 
Dim oFCKeditor 
Set oFCKeditor = New FCKeditor 
oFCKeditor.BasePath = "/"

oFCKeditor.ToolbarSet = "Default" 
oFCKeditor.Width = "100%" 
oFCKeditor.Height = "400"

oFCKeditor.Value = rs("logbody") 
oFCKeditor.Create "logbody" 
%>

ASP版的,当然只能用在以.asp为扩展名的页面中,如果你在前在fckedito.asp里设置过BasePath为"/"的话,这里就可以省掉第三行,ASP版的只有一个Create函数。建议在修改一篇内容时用ASP版的。

接下来看JS版的:

代码如下:

<script type="text/javascript"> 
var oFCKeditor = new FCKeditor( 'logbody' ) ; 
oFCKeditor.BasePath = '/' ; 
oFCKeditor.ToolbarSet = 'Basic' ; 
oFCKeditor.Width = '100%' ; 
oFCKeditor.Height = '400' ; 
oFCKeditor.Value = '' ; 
oFCKeditor.Create() ; 
</script>

BasePath的设置同上所述,JS版的可用于任何网页中,甚至用于html页面,因为其是客户端生成的,这样的好处就是一可以减小网络流量,因为编辑器文件只需下载一次,二是可以由客户端定义什么时候显示,由于fckeditor初始化需要一定时间,在这一点上JS就很有作用了。

另外,JS版的还有一个功能函数就是ReplaceTextarea()函数,可以替换指定的TextArea,拿我的网站的日志的回复部分示例:


代码如下:

<script type="text/javascript"> 
<!-- 
function showFCK(){ 
var oFCKeditor = new FCKeditor( 'fbContent' ) ; 
oFCKeditor.BasePath = '/' ; 
oFCKeditor.ToolbarSet = 'Basic' ; 
oFCKeditor.Width = '100%' ; 
oFCKeditor.Height = '200' ; 
oFCKeditor.Value = '' ; 
//oFCKeditor.Create() ; 
oFCKeditor.ReplaceTextarea() ; 
//document.blog_feedback.blogsubmit.disabled = ''; 
document.blog_feedback.blogsubmit.style.display = ''; 
document.blog_feedback.openFCK.disabled = 'true'; 
document.blog_feedback.openFCK.style.display = 'none'; 

//--> 
</script>

把其写成一个简单的函数,当用户显示打开编辑器时才生成这个fckeditor,不用每次刷新页面都去初始化一个编辑器,页面的速度就会快多了。

(0)

相关推荐

  • 解密FCKeditor 2.0 的设置.修改.使用方法

    今天找了下fckeditor的修改方法,因为他的代码太乱了,比ewebeditor的易用性与可修改型确实太差了,只要求助各位网友的以前的修改方法,方便修改FCKeditor 2.0版终于出来了,之所以用"终于"这个词,是因为在这一版本上加上了众望所归的FLASH插入功能.可以说在所有的在线编辑器中,FCKeditor是目前互联网上最好的编辑器,功能强大,支持多种浏览器,无平台限制,可以和多种WEB语言融合,多语言支持,开源等~~ 对于一个全新的网站,FCKeditor就可以直接拿过来用

  • FCKeditor 2.0 简化和使用

    可以说在所有的在线编辑器中,FCKeditor 是目前互联网上最好的编辑器,功能强大,支持多种浏览器,无平台限制,可以和多种WEB语言融合,多语言支持,开源等~~ 对于一个全新的网站,FCKeditor就可以直接拿过来用了,不需要进行什么修改.但是对于绝大多数的已有网站而言,FCKeditor的一些设置并不适合自己的使用,这篇文章旨在告诉你简单的修改FCKeditor以方便您的网站的使用. 第一项工作就是对这个功能宏大的编辑器进行精简,当然是文件精简而非功能精简化.在这里我以asp版的FCKed

  • linux下passwd命令设置修改用户密码的方法

    1.passwd 简单说明: 我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码:passwd命令的用法也很多,我们只选如下的几个参数加以说明:想了解更多,请参考man passwd或passwd --help : passwd [OPTION...] passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定:如果root用户运行passwd ,可以设置或修改任何用户的密码: passwd 命令后面不接任何参数或用户名

  • Android 5.0 开机横屏修改方法

    <span style="font-family: Arial, Helvetica, sans-serif;">如果理解了Android的设计的原理, 其实这个修改原理十分简单, 比一些网上流出来的粗暴的修改方式既美观又实用.</span> 修改分为三部分: 1: 上层(Java)修改 既然设计到屏幕的修改, 肯定想到了直接修改WMS(比较粗暴的方式). 其实Android的很多的需求都是通过配置文件来的, 这么明显的设计需求只要去找相应的配置就可以了. co

  • 安装mysql8.0.11及修改root密码、连接navicat for mysql的思路详解

    1.1. 下载: 官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:(解压在哪个盘都可以的) 我放在了这里 E:\web\mysql-8.0.11-winx64 ,顺便缩短了文件名,所以为 E:\web\mysql-8.0.11. 1.3. 生成data文件: 以管理员身份运行cmd 程序--输入cmd 找到cmd.exe 右键以管理员身份运行 进入E:\web\mysql-8.0.11\

  • mysql8.0忘记密码修改与net命令服务名无效问题

    cmd中输入net start mysql 提示:服务名无效 请进入MySQL的bin目录,并在bin目录打开命令行窗口,或设置系统环境变量,在命令行窗口输入:mysqld --install,回车,提示:Service successfully installed. 表示安装MySQL服务成功,命令行窗口输入:net start mysql ,可以正常启动 mysql8.0忘记密码修改: 亲测下面这个代码是可行的 明明在前面安装MySQL的时候有要你设置一个密码,但是其实那个密码貌似用不到,这

  • mysql 5.0.45 (修改)拒绝服务漏洞

    mysql 5.0.45 (修改)拒绝服务漏洞 /* * MySQL <=6.0 possibly affected * Kristian Erik Hermansen * Credit: Joe Gallo * You must have Alter permissions to exploit this bug! * Scenario: You found SQL injection, but you want to punch backend server * in the nuts ju

  • XenServer6.0中虚拟机设置自动启动的方法

    前言 众所周知在XenServer的较早前版本(6.0以前)中,启动XenServer时,可以选择自动启动在其中安装的虚拟机.这个功能在XenServer 6.0中被Citrix取消了,原因是会干扰到XenServer的HA(高可用性)和Failover(故障转移)功能的兼容性.但是,如果只运行一个XenServer,这个功能还是非常好的. 在XenServer 6.0中,自动启动虚拟机仍然是可以办到的.这需要在"Pool Level"上开启自启动功能,并且,在需要自启动的虚拟机上使用

  • ubuntu16.0.4 设置固定ip地址的方法

    由于Ubuntu重启之后,ip很容易改变,可以用以下方式固定ip地址 1.设置ip地址 vi /etc/network/interface # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto ens32 iface ens32 inet static address 192.168.159.130 netmask 255.255.255.0 gat

  • Android7.0 MTK设置默认桌面

    本文实例为大家分享了Android7.0 MTK设置默认桌面的具体代码,供大家参考,具体内容如下 项目需求:客户安装自己公司的桌面apk,安装完成后自动设置为默认桌面且不弹出始终和仅一次的弹框 1.找到安装应用的文件 frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java try { PackageParser.Package newPackage = scanPackageTrace

随机推荐