zoukankan      html  css  js  c++  java
  • 在线编辑器fckeditor的使用和配置

    在线编辑器的使用和配置
    可以说在所有的在线编辑器中,FCKeditor是目前互联网上最好的编辑器,功能强大,支持多种浏览器,无平台限制,可以和多种WEB语言融合,多语言支持,开源等~~

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

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

    找到第20行 FCKConfig.DefaultLanguage = 'en' ;改为 FCKConfig.DefaultLanguage = 'zh-cn' ;设置默认语言为简体中文,如果不改,默认为英文.

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

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

    这是我改过的Basic,把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?
    如果网站需要显示引用其他网站的图片和flash时,必要要做一下处理了.
    第一步,在FCKConfig.ToolbarSets["Basic"]中添加'Flash','Image'两个功能.
    第二步,在editor文件夹中修改dialog目录下的fck_image\fck_image.js文件内容
    把tab,link和upload,advanced三个标签注释掉,弹出窗口的时候不再显示链接,上传和高级标签
    if ( !bImageButton && !FCKConfig.ImageDlgHideLink )
     //window.parent.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;

    if ( FCKConfig.ImageUpload )
     //window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;

    if ( !FCKConfig.ImageDlgHideAdvanced )
     //window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
    function OnDialogTabChange( tabCode )
    {
     ShowE('divInfo'  , ( tabCode == 'Info' ) ) ;
     //ShowE('divLink'  , ( tabCode == 'Link' ) ) ;
     //ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
     //ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ;
    }

    同样,flash修改方式和image相同.


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

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

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


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

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

    手机扫一扫,关注程序员技能成长

    成长的乐趣,在于分享!
    大龄程序员,一路走来,感慨颇多。闲暇时写写字,希望能给同行人一点帮助。
    本文版权归作者growithus和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Apache服务器安装-apache已经卸载,如何删除注册在系统的服务
    REST&RESTFUL
    SQL注入漏洞产生的原因是什么?怎么防止?XSS呢?
    git的常用命令
    Linux服务器上安装MySql数据库(默认安装,密码为空),首次使用需要修改密码
    iOS-UI控件优化
    iOS isa指针
    iOS Runtime 运行时
    程序员面试总结
    迷宫寻宝(一)(bfs)
  • 原文地址:https://www.cnblogs.com/growithus/p/11012418.html
Copyright © 2011-2022 走看看