`

fckeditor配置修改

阅读更多
对于一个全新的网站,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还支持编辑域内的鼠标右键功能。
找到第73行 
FCKConfig.ContextMenu = ['Generic',/*'Link',*/'Anchor',/*'Image',*/'Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField',/*'ImageButton',*/'Button','BulletedList','NumberedList','TableCell','Table','Form'] ;

这也是我改过的把鼠标右键的“链接、图像,FLASH,图像按钮”功能都去掉。

  找到 第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,不用每次刷新页面都去初始化一个编辑器,页面的速度就会快多了。

------------------------------------------------------------------------------
补遗:前面讲到了,说是在编辑已有数据内容时不要用JS版的,那是因为单引号(')的问题造成的,在数据内容里难免会有单引号存在而用JS版生成编辑器时可能就会因为单引号问题,而使编辑器无法正常生成,而采用asp则不同,用ASP版本的是因为数据被当成是一个变量了,然后直接赋值给编辑器域。还有就是除非你要用ReplaceTextArea()方法来生成编辑器,否则你不需先写一个<textarea>这样的标签,一切都会由fckeditor自动生成的,你所需做的只是给fckeditor指定一个实例名。同时你也不用担心如何提交,在表单提交的时候,fckeditor会自动提交,提交的变量名是以你指定的fckeditor实例命名的。

================================== 
FCKeditor2.0在线编辑器的修改与设置-文件上传部分 


以下部分为原创,如需转载请注明“出处:http://3rgb.com
 作者:柠檬园主” 

上次我们讲了FCKeditor的使用相关的设置以及一些优化设置,对于普通的用户已经很受用了,今天再来讲几个小技巧,另外着重讲一下对上传文件部分的定制,适用于高级用户。 

第一部分,装自己定制的插件,实现模板标签(开源的东西就有这点好处,随心所欲地修改),打开fckconfig.js文件找到 

FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ; 

// FCKConfig.Plugins.Add( 'placeholder', 'en,it' ) ; 

去掉//后,就相当于把placeholder这个插件功能加上了,fckeditor的插件文件都在/editor/plugins/文件夹下分类按文件夹放置的,对于fckeditor2.0来说,里面有两个文件夹,也就是有两个官方插件,placeholder这个文件夹就是我们刚才加上去的,主要用于多参数或单参数自定义标签的匹配,这个在制作编辑模板时非常管用,要想看具体实例的话,大家可以去下载acms这个系统查看学习,另一个文件夹 tablecommands就是编辑器里的表格编辑用到的了。当然,如果你想制作自己其它用途的插件,那就只要按照fckeidtor插件的制作规则制作完放置在/editor/plugins/下就行,然后再在fckeidtor.js里再添加FCKConfig.Plugins.Add ('Plugin Name',',lang,lang');就可以了。 



第二部分,使用自己的表情图标,同样打开fckcofnig.js到最底部那一段 


FCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/msn/' ; 
FCKConfig.SmileyImages = ['regular_smile.gif','sad_smile.gif','wink_smile.gif'] ; 
FCKConfig.SmileyColumns = 8 ; 
FCKConfig.SmileyWindowWidth = 320 ; 
FCKConfig.SmileyWindowHeight = 240 ; 

上面这段已经是我修改过的了,为了我发表此文的版面不会被撑得太开,我把FCKConfig.SmileyImages那一行改得只有三个表情图了。 

第一行,当然是表情图标路径的设置,第二行是相关表情图标文件名的一个List,第三行是指弹出的表情添加窗口最每行的表情数,下面两个参数是弹出的模态窗口的宽和高喽。 

第三部分,文件上传管理部分 

此部分可能是大家最为关心的,上一篇文章简单的讲了如何修改来上传文件以及使用fckeidtor2.0才提供的快速上传功能。再我们继续再深层次的讲解上传功能 

FCKConfig.LinkBrowser = true ; 
FCKConfig.ImageBrowser = true ; 
FCKConfig.FlashBrowser = true ; 
在fckconfig.js 找到这三句,这三句不是连着的哦,只是我把他们集中到这儿来了,设置为true的意思就是允许使用fckeditor来浏览服务器端的文件图像以及 flash等,这个功能是你插入图片时弹出的窗口上那个“浏览服务器”按钮可以体现出来,如果你的编辑器只用来自己用或是只在后台管理用,这个功能无疑很好用,因为他让你很直观地对服务器的文件进行上传操作。但是如果你的系统要面向前台用户或是像blog这样的系统要用的话,这个安全隐患可就大了哦。于是我们把其一律设置为false;如下 

FCKConfig.LinkBrowser = false ; 
FCKConfig.ImageBrowser = false ; 
FCKConfig.FlashBrowser = false ; 

这样一来,我们就只有快速上传可用了啊,好!接下来就来修改,同样以asp为范例进行,进入/editor/filemanager/upload/asp/打开config.asp,修改 

ConfigUserFilesPath = "/UserFiles/" 
这个设置是上传文件的总目录,我这里就不动了,你想改自己改了 

好,再打开此目录下的upload.asp文件,找到下面这一段 


Dim resourceType 
If ( Request.QueryString("Type") <> "" ) Then 
resourceType = Request.QueryString("Type") 
Else 
resourceType = "File" 
End If 

然后再在其后面添加 


ConfigUserFilesPath = ConfigUserFilesPath & resourceType &"/"& Year(Date()) &"/"& Month(Date()) &"/" 

这样的话,上传的文件就进入“/userfiles/文件类型(如image或file或flash)/年/月/”这样的文件夹下了,这个设置对单用户来用已经足够了,如果你想给多用户系统用,那就这样来改 


ConfigUserFilesPath = ConfigUserFilesPath & Session("username") & resourceType &"/"& Year(Date()) &"/"& Month(Date()) &"/" 

这样上传的文件就进入“/userfiles/用户目录/文件类型/年/月/”下了,当然如果你不想这么安排也可以修改成别的,比如说用户目录再深一层等,这里的Session("username")请根据自己的需要进行修改或换掉。 

上传的目录设置完了,但是上传程序还不会自己创建这些文件夹,如果不存在的话,上传不会成功的,那么我们就得根据上面的上传路径的要求进行递归来生成目录了。 

找到这一段 


Dim sServerDir 
sServerDir = Server.MapPath( ConfigUserFilesPath ) 
If ( Right( sServerDir, 1 ) <> "\" ) Then 
sServerDir = sServerDir & "\" 
End If 

把它下面的这两行 


Dim oFSO 
Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) 

用下面这一段代码来替换 


dim arrPath,strTmpPath,intRow 
strTmpPath = "" 
arrPath = Split(sServerDir, "\") 
Dim oFSO 
Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) 
for intRow = 0 to Ubound(arrPath) 
strTmpPath = strTmpPath & arrPath(intRow) & "\" 
if oFSO.folderExists(strTmpPath)=false then 
oFSO.CreateFolder(strTmpPath) 
end if 
next 

用这段代码就可以生成你想要的文件夹了,在上传的时候自动生成。 

好了,上传文件的修改到现在可以暂时告一段落了,但是,对于中文用户还存在这么个问题,就是fckeditor的文件上传默认是不改名的,同时还不支持中文文件名,这样一来是上传的文件会变成“.jpg”这样的无法读的文件,再就是会有重名文件,当然重名这点倒没什么,因为fckeditor会自动改名,会在文件名后加(1)这样来进行标识。但是,我们通常的习惯是让程序自动生成不重复的文件名 

在刚才那一段代码的下面紧接着就是 

' Get the uploaded file name. 
sFileName = oUploader.File( "NewFile" ).Name 

看清楚了,这个就是文件名啦,我们来把它改掉,当然得有个生成文件名的函数才行,改成下面这样 

'//取得一个不重复的序号 
Public Function GetNewID() 
dim ranNum 
dim dtNow 
randomize 
dtNow=Now() 
ranNum=int(90000*rnd)+10000 
GetNewID=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 = GetNewID() &"."& split(oUploader.File( "NewFile" ).Name,".")(1) 

这样一来,上传的文件就自动改名生成如20050802122536365.jpg这样的文件名了,是由年月日时分秒以及三位随机数组成的文件名了 
分享到:
评论

相关推荐

    FCKeditor配置for java

    **FCKeditor配置for Java** FCKeditor是一款流行的开源富文本编辑器,广泛应用于Web开发中,为用户提供类似于Microsoft Word的界面,使用户能够轻松创建和编辑HTML内容。在Java Web开发环境中,集成FCKeditor可以...

    FCKeditor配置方法

    总之,FCKeditor的配置涉及多个方面,包括引用、控件注册、Web.Config配置、fckconfig.js配置以及安全性设置。理解并熟练掌握这些配置,将有助于你在实际开发中更好地利用FCKeditor创建富文本编辑功能。

    ASP.NET下FCKeditor配置方法全解

    总的来说,ASP.NET中的FCKeditor配置涉及前端JavaScript的实例化,后端代码的处理,以及可能的自定义配置和安全措施。通过合理的配置和使用,FCKeditor可以极大地提升用户在Web应用程序中的编辑体验。

    FckEditor中文配置手册详细说明

    FCKEditor 中文配置手册详细说明 FCKEditor 是一个功能强大且广泛使用的富文本编辑器,它提供了多种功能,如...FCKEditor 是一个功能强大且灵活的富文本编辑器,我们可以根据需要进行配置和修改,以满足我们的需求。

    fckeditor中文修改版 PHP

    3. **配置文件调整**:可能对配置文件(如`fckconfig.js`)进行了修改,添加或修改了与中文支持相关的设置。 4. **语言包更新**:为了支持中文界面,可能更新了语言包,提供完整的中文翻译。 在实际使用这个中文...

    FCKeditor配置详解(附完整案例)

    **FCKeditor配置详解(附完整案例)** FCKeditor是一款功能强大的开源HTML编辑器,广泛应用于网站内容管理系统(CMS)和论坛等需要用户编辑HTML内容的场景。它提供了丰富的文本格式化、图像处理、链接管理等功能,...

    FCKEditor配置好的工程

    **FCKEditor配置详解** FCKEditor是一款开源的富文本编辑器,广泛应用于网页内容编辑,它提供了丰富的文本格式化选项,支持图片、链接、表格等元素的插入,极大地提升了用户体验。在本“FCKEditor配置好的工程”中...

    ASP.NET中FCKEditor配置教程

    在ASP.NET环境中配置FCKEditor涉及到几个关键步骤,以下是对这些步骤的详细解释: 1. **获取和安装FCKEditor**: 首先,你需要从FCKeditor的官方网站(http://www.fckeditor.net/download)下载最新版本的...

    fckeditor的配置详解

    `config简单修改.txt`文件很可能包含了针对初学者的一些基础配置修改示例,如更改默认字体、字号、颜色,或者开启/关闭某些功能等。 总结来说,fckeditor的配置是一个涉及多个方面的过程,涵盖了编辑器的基础设置、...

    php100 fckeditor 配置

    **PHP100 FCKeditor配置详解** 在Web开发中,富文本编辑器(Rich Text Editor)是必不可少的工具,它允许用户以图形化的方式编辑HTML内容。FCKeditor是曾经非常流行的一款开源富文本编辑器,而在PHP100教程中,它被...

    fckeditor配置与使用

    **FCKeditor配置与使用详解** FCKeditor是一款开源的Web富文本编辑器,它为用户提供了一种在网页上编辑内容的方式,就像在Word里那样。对于初学者或者不熟悉其配置和使用的开发者来说,这款编辑器具有很高的易用性...

    .net FCKeditor2.6.4 修改版 支持浏览服务器 缩略图

    《.NET FCKeditor2.6.4修改版:服务器浏览与缩略图支持详解》 FCKeditor是一款广泛应用于Web开发中的开源富文本编辑器,尤其在.NET平台上的应用非常广泛。.NET FCKeditor2.6.4修改版是针对原版编辑器进行优化的版本...

    HTML编辑器FCKEditor配置及源码

    而`FCKEditorDemo`可能包含了一个演示实例,展示了FCKEditor配置后的实际效果和使用方法,你可以通过运行这个演示来更好地理解配置的细节。 总的来说,理解和配置FCKEditor对于构建具有强大文本编辑功能的Web应用至...

    FCKeditor2.5配置教程

    4. **皮肤更换**:FCKeditor提供了多种皮肤,你可以在`skins`目录下选择合适的皮肤,并在`fckconfig.js`中修改`Config.SkinPath`。 ### 三、集成到网页 1. **引入JS文件**:在你的HTML文件中,需要引入FCKeditor的...

    jsp的fckeditor配置.rar

    本文将详细介绍JSP中的FCKeditor配置,以及如何将其应用于网页文本编辑器的构建。FCKeditor是一款开源的、功能强大的富文本编辑器,广泛被百度、CSDN等知名网站采用,为用户提供方便的在线文本编辑体验。 **一、...

    常用插件 FCKeditor 自己可以修改图片字体

    在标题和描述中提到的“自己可以修改图片字体”,意味着FCKeditor支持用户自定义编辑器中的图像和字体样式。 首先,关于**图片修改**,FCKeditor提供了内置的图片管理功能。用户可以通过编辑器的图像插入工具上传...

    Fckeditor 2.6.3 配置(ASP.NET)

    ### Fckeditor 2.6.3 配置详解(ASP.NET) #### 一、简介 Fckeditor是一款功能强大且易用的在线富文本编辑器,它支持多种编程语言,包括ASP.NET。本文将详细介绍如何在ASP.NET环境中配置并使用Fckeditor 2.6.3版本...

    已经配置好的Fckeditor

    Fckeditor的配置过程包括了几个关键步骤: 1. **安装和下载**:首先,需要从Fckeditor的官方网站获取最新版本的编辑器包,这个包通常包含了所有必要的文件和资源。 2. **环境准备**:确保你的开发环境已经配置好了...

    fckeditor php使用配置

    4. **配置项**:FCKeditor支持多种配置,以改变其行为。例如,可以通过修改`fckconfig.js`文件来更改默认字体、字号、语言等。你还可以禁用或启用某些功能,比如图片上传、链接管理等。 5. **处理提交的数据**:在...

    fckeditor配置

    **FCKeditor配置详解** FCKeditor是一款流行的开源富文本编辑器,广泛应用于网页内容编辑。在.NET环境中,如VS2008下,配置FCKeditor可以使开发者在网页上提供一个功能强大的文本编辑界面。以下是一份详细的...

Global site tag (gtag.js) - Google Analytics