注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

火山左儿

学无止境

 
 
 

日志

 
 

[转]FCKeditor在ASP配置环境中的使用  

2010-06-12 14:01:38|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
FCKeditor在ASP配置环境中的使用

先说一下测试环境:XPSP2,IIS5.1,FCKeditor2.0

  在IIS上建立一个新的站点,我直接取名为FCKeditor

  在DW里建立一个相对应的站点,测试服务器为本机,支持VBScript

  下载FCKeditor2.0,这个东西是开源的,网上能下到的地方很多,自己找去……

  下载下来的应该是压缩包,解压到FCKeditor站点根目录,什么都无需更改,直接就能够开始调用了。等您会了的时候,会发现简单得要死去!

  在站点根目录下,新建一个index.asp页面,段内加如下代码(调用编辑器):

<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor
oFCKeditor.BasePath = "/FCKeditor/"   //配置编辑器的路径,我站点根目录下的一个目录
oFCKeditor.ToolbarSet = "Default"
oFCKeditor.Width = "100%"
oFCKeditor.Height = "600"
oFCKeditor.Val = "" //这个是给编辑器初始值
oFCKeditor.Create "logbody" //以后编辑器里的内容都是由这个logbody取得,命名由您定
%>

 

  加了这一段别忘了在index.asp前面第二行加上

  <!--#incl? file="FCKeditor/fckeditor.asp" -->

  把fckeditor.asp包含进来。切记切记!

  就这么简单!

  现在您只要把这个编辑器当成一个控件来使用,提取他的数据时用:reqst("logbody")

  现在松口气吧。测试成功了。里面有些配置,去网上找些高级的使用说明来看吧。

  FCKeditor使用初步

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

  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文档夹内,这里的东西能够来个大清洗了,只保留fcklang gemanager.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.DefaultLang ge = 'en' ;改为 FCKConfig.DefaultLang ge = '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 = Tr,要不是没法上传文档的,再把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 = Tr,我这里把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.Val = 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.Val = '' ;
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.Val = '' ;
      //oFCKeditor.Create() ;
      oFCKeditor.ReplaceTextarea() ;
      //document.blog_feedback.blogs mit.disabled = '';
      document.blog_feedback.blogs mit.style.display = '';
      document.blog_feedback.openFCK.disabled = 'tr';
      document.blog_feedback.openFCK.style.display = 'none';
      }
      //-->
      </script>

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

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

      fckeditor最新版本是2.3.1,下载地址:http://www.fckeditor.net/download

  评论这张
 
阅读(816)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018