`

文本编辑工具fck使用介绍

阅读更多

Fckedit简介
废话不多说直接写用法了:
http://ckeditor.com/
下载配置文件:
    这里我们要下两个:第一个:FCKeditor_2.6.6.zar 、第二个:fckeditor-java-2.6-bin.zip(在java平台开发)第三个:fckeditor-java-2.6-src.zip(源码)

调用方式:(js and jsp)
一.通过javascript调用
第一种方法:
0>将FCKeditor_2.6.6.zar解压后的fckeditor文件拷贝到WebRoot根目录下
1>、链接script
        <script src="fckeditor/fckeditor.js" type="text/javascript"></script>
2>、在body标签里面加上
        <body>
            This is my HTML page.<br>
            <script type="text/javascript">
            var oFCKeditor = new FCKeditor('FCKeditor1');//‘FCKeditor1’输入框的name
            /*默认/fckeditor/:http://localhost:8080/fckeditor*/
            //http://localhost:8080/fckedit/fckeditor
            oFCKeditor.BasePath = "/fckedit/fckeditor/";
            oFCKeditor.Create();
            </script>
        </body>
第二种方法:
0>将FCKeditor_2.6.6.zar解压后的fckeditor文件拷贝到WebRoot根目录下
1>、链接script
        <script src="fckeditor/fckeditor.js" type="text/javascript"></script>
2>、在head标签里面加上
        <script type="text/javascript">
        window.onload = function()
        {
        var oFCKeditor = new FCKeditor( 'MyTextarea' ) ;
        oFCKeditor.BasePath = "/fckedit/fckeditor/" ;
        oFCKeditor.ReplaceTextarea() ;
        }
        </script>
3>、在body标签里面加上:
        <textarea cols="60" rows="4" id="MyTextarea" name="MyTextarea">Hello</textarea>

注意:
1.BasePath要正确的设置
2.BasePath一定要以“/”结尾

FCKEdit对象的属性:
名称             描述                                                     默认值
width            宽度                                                     100%
hetght           高度                                                     200
value            编辑器初始化内容                                         空字符串
ToolbarSet       工具条集合的名称(内置有Default和Basic也可以直接定制)   Default
BasePath         编辑器的基路径                                           /feckeditor/



构造器:
var FCKeditor = function(instanceName,width,height,toolbarSet,value)
.其中instanceName为编辑器输出的textarea元素的name属性值,必须指定
.参数会复制给同名属性

二.在jsp中通过自定义标签调用
0>将fckeditor-java-2.6-bin.zar 解压后的fckeditor-java-core-2.6.jar和lib目录下的jar文件拷贝到WebRoot/lib目录下一共7个:
    commons-fileupload-1.2.1.jar
    commons-io-1.3.2.jar
    fckeditor-java-core-2.6.jar
    imageinfo-1.9.jar
    java-core-2.6.jar
    slf4j-api-1.5.8.jar
    slf4j-simple-1.5.8.jar
2>导入标签:
    <%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %>
3>在body标签里面加上:
    <FCK:editor instanceName="myEditor" basePath="/fckeditor" value="helloworld"></FCK:editor>

注意:
1.basePath 以‘/’开发,并且代表当前工程的路径
2.一定要设置value的属性值,并且值不能是空字符串即可以用 但不可以用“”。

配置FCKEditor

主配置文件fckconfig.js但我们一般不直接在里面修改配置属性。
这里先介绍自定义一个配置文件myconfig.js
1.我们新建一个js文件:myconfig.js
2.修改fckconfig.js里面的FCKConfig.CustomConfigurationsPath = '' ;
改成:FCKConfig.CustomConfigurationsPath = '/fckedit/myconfig.js' ;
3.在页面的调用代码中对FCKeditor的实例进行配置
oFCKeditor.Config["CustomConfigurationPath"] = "/myconfig.js"

配置加载顺序:
1.加载主配置文件fckconfig.js
2.加载自定义的配置文件(如果有)覆盖相同的配置项
3.使用对实例的配置覆盖相同的配置项(只对当前的实例有效)

一般需要的修改的配置:
1.自定义ToolbarSet,去掉一些功能
2.加上几种常用的字体
3.修改“回车”和“Shift+回车”的换行行为
4.修改编辑区的样式文件
5.更换表情图片
下面一一介绍这5种修改配置:

1.自定义ToolbarSet,去掉一些功能
1>、新建一个myconfig.js配置文件将/fckedit/WebRoot/fckeditor/fckconfig.js文件里的ToolbarSets配置项copy到里面:
FCKConfig.ToolbarSets["zchen"] = [
    ['Source','DocProps'],
    ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
    ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
    '/',
    ['Style','FontFormat','FontName','FontSize'],
    ['TextColor','BGColor'],
    ['FitWindow','ShowBlocks','-','About']        // No comma for the last row.
] ;
去掉一些你不需要的功能:‘-’分行、‘/’分段
2>、在/fckedit/WebRoot/fckeditor/fckconfig.js下修改:
FCKConfig.CustomConfigurationsPath = '/fckedit/myconfig.js' ;引入自定义的配置文件
3>、在页面中引入修改了的配置文件:
    <head>
        <script src="fckeditor/fckeditor.js" type="text/javascript"></script>
        <script type="text/javascript">
        window.onload = function()
        {
        var oFCKeditor = new FCKeditor( 'MyTextarea' ) ;
        oFCKeditor.BasePath = "/fckedit/fckeditor/" ;
        oFCKeditor.ToolbarSet = "zchen" ;
        oFCKeditor.ReplaceTextarea() ;
        }
        </script>
    </head>

2.加上几种常用的字体
第一种、在 fckconfig.js文件配置:
默认情况下,FCKEditor在进行文本编辑时,无法使用中文字体。
打开 fckconfig.js 文件
找到第154行(应该是),会发现:
程序代码:
FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
将其修改为
FCKConfig.FontNames = '宋体;黑体;幼圆;楷体_GB2312;仿宋_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
这样还是不行,虽然发现编辑器的字体选项多了已添加的中文字体,但应用到文本上却发现没有任何作用!
接着下一步 :
打开editor/css/fck_editorarea.css 文件
将程序代码:
font-family: Arial, Verdana, sans-serif;
修改为:
font-family: 宋体, 黑体, 幼圆, 楷体, 仿宋, Arial, Verdana, sans-serif;
注意:一定要“另保存”为 UTF-8编码格式的文档,否则会出现乱码!
第二种、在自定义文件中配置
我们可以在我们自定义myconfig.js文件中修改:
FCKConfig.FontNames    = '宋体;楷体;_GB2312;黑体;隶书;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

3.修改“回车”和“Shift+回车”的换行行为
在fckconfig.js文件下将这两个配置属性的值对换一下修改后的结果是:
FCKConfig.EnterMode = 'br' ;            // p | div | br
FCKConfig.ShiftEnterMode = 'p' ;    // p | div | br

4.修改编辑区的样式文件:
FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;
修改fck_editorarea.css里面的样式即可。

5.更换表情图片
修改在fckconfig.js文件下的
FCKConfig.SmileyPath    = FCKConfig.BasePath + 'images/smiley/msn/' ;
FCKConfig.SmileyImages    = ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ;
FCKConfig.SmileyColumns = 8 ;
FCKConfig.SmileyWindowWidth        = 320 ;
FCKConfig.SmileyWindowHeight    = 210 ;
复制到我们自定义的myconfig.js文件里:
FCKConfig.SmileyPath    = FCKConfig.BasePath + 'images/smiley/msn/' ;
FCKConfig.SmileyImages    = ['logp.jpg','regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ;
FCKConfig.SmileyColumns = 8 ;
FCKConfig.SmileyWindowWidth        = 320 ;
FCKConfig.SmileyWindowHeight    = 210 ;
1>将我们要加入的图片放到: 'images/smiley/msn/' 目录里。
2>将图片的名字引入FCKConfig.SmileyImages里面:
3>修改窗口的大小:
FCKConfig.SmileyWindowWidth        =640 ;
FCKConfig.SmileyWindowHeight    = 480 ;
4>修改每行显示多少个:FCKConfig.SmileyColumns = 10 ;
然后在:/fckedit/WebRoot/fckeditor/editor/dialog/fck_smiley.html文件下修改:
window.onload = function ()
{
    // First of all, translate the dialog box texts
    oEditor.FCKLanguageManager.TranslatePage(document) ;

    //dialog.SetAutoSize( true ) ;
}
5>让窗口出现滚动条:
在/fckedit/WebRoot/fckeditor/editor/dialog/fck_smiley.html文件下修改:
<body style="overflow: auto">

6>、将自定义的配置文件也放到fckeditor/editor目录下面则需要在/fckedit/WebRoot/fckeditor/fckconfig.js文件修改下:
FCKConfig.CustomConfigurationsPath = FCKConfig.EditorPath+'myconfig.js' ;

实现文件上传功能:
1>、Declare the ConnectorServlet in your web.xml:
  <web-app version="2.4">
    ...
    <servlet>
      <servlet-name>ConnectorServlet</servlet-name>
        <servlet-class>
          net.fckeditor.connector.ConnectorServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>
    ...
    <servlet-mapping>
      <servlet-name>ConnectorServlet</servlet-name>
      <url-pattern>
        /fckeditor/editor/filemanager/connectors/*
      </url-pattern>
    </servlet-mapping>
    ...
  </web-app>
2>.Create a fckeditor.properties file in your classpath and add(在src目录下创建一个fckeditor.propertity文件将):
      connector.userActionImpl=net.fckeditor.requestcycle.impl.EnabledUserAction

下面简述使用上传时遇到的问题:
1.上传文件名为中文时名字会出现乱码:
在版本2.4中:
1>、检查客户端页面编码是否正确:打开在/fckedit/WebRoot/fckeditor/editor/filemanager/browser/default/frmupload.html文件查看编码是不是utf-8(这里确认是正确的)
2>、检查服务器端的servlet上传代码:net.fckeditor.connector.ConnectorServlet.class
先关联上源码,源码在fckeditor-java-2.6-src.zar包里。
3>、新建一个setvlet这里名字也取为ConnectorServlet然后将关联后的ConnectorServlet.class的代码复制到我们建的Servlet里面。
4>、在246行加上upload.setHeaderEncoding("utf-8")
5>、修改web.xml的映射路径
在版本fckeditor-java-2.6-bin.zip中:则不会出现这种情况只需要:1、在web.xml文件中映射servlet 2、创建fckeditor.propertity文件

2.创建中文名的目录时会出现乱码:
    同理先检查客服端再检查服务器端和上面情况一样在2.6版本中不会出现乱码情况。
    在2.4可以将:ConnectorServlet.java代码在156行加上:
      String fileName = request.getParameter("NewFolderName");
    fileName = new String(fileName.getBytes("iso8859-1"),"UTF-8");

3.引用的中文名字的图片不能正常显示:
1>、修改tomcat配置在conf/server.xml :<Connector .... URIEncoding="UTF-8"/>:不推荐使用
2>、在ConnectorServlet代码的176行加上:filename = UUID.randomUUID().toString()+"."+extension;上传后的图片将不再以原来的名字保存而是会换成uuid编码形式


4.控制允许上传的文件的类型:
FCKeditor把上传的文件分成4类:File、Image、Flash、Media
文件分类              客户端验证配置(fckconfig.js)                      服务器端验证配置(fckeditor.properties)
File                  FCKConfig.LinkUploadAllowedExtensions             connector.resourceType.file.extensions.allowed
Image                 FCKConfig.ImageUploadAllowedExtensions            connector.resourceType.image.extensions.allowed
Flash                 FCKConfig.FlashUploadAllowedExtensions            connector.resourceType.flash.extensions.allowed
Media                 无对应配置                                        connector.resourceType.media.extensions.allowed
假如我们要上传以.zc结尾的文件则:
1>、在net.fckeditor.handlers下把default.properties里的connector.resourceType.image.extensions.allowed = bmp|gif|jpeg|jpg|png这一项
放到我们自定义的/fckedit/src/fckeditor.properties里面并加上后缀。
2>、在/fckedit/WebRoot/fckeditor/fckconfig.js文件下把  FCKConfig.ImageUploadAllowedExtensions    = ".(jpg|gif|jpeg|png|bmp)$" ;        // empty for all
拷贝到我们自定义的myconfig.js文件里面并加上我们要加上的后缀:FCKConfig.ImageUploadAllowedExtensions    = ".(jpg|gif|jpeg|png|bmp|abc)$" ;        // empty for all

控制允许上传的文件的大小:
1>.在服务器端的servlet中,在保存文件之前先判断一下文件大小,如果超出限制就传递一个自定义的错误吗并且不再保存文件
2>、修改对应的页面中的回调函数,增加对这个自定义的错误码的处理
例如:不允许上传大于10k的文件(默认是没限制的)
先增加错误码在/fckedit/WebRoot/fckeditor/editor/dialog/fck_image/fck_image.js文件474行添加这个:
        case 204 :
            alert( "文件大小超出限制" ) ;
            return ;
然后修改ConnectorServlet:
   filename = UUID.randomUUID().toString()+"."+extension;
                    //如果这个文件的扩展名不允许上传
                     if (!ExtensionsHandler.isAllowed(resourceType, extension)) {
                         obj[0] = UploadResponse.SC_INVALID_EXTENSION;
                         obj[1] = null;
                         obj[2] = null;
                         obj[3] = null;
                         ur = new UploadResponse(obj);
                     }//如果文件大小超出限制
                     else if(uplFile.getSize()>10*1024*1024){
                         obj[0] = 204;
                         obj[1] = null;
                         obj[2] = null;
                         obj[3] = null;
                         //传递一个自定义的错误码
                         ur = new UploadResponse(obj);
                     }


分享到:
评论

相关推荐

    文本编辑器FCK的用法

    1. **富文本编辑器**:富文本编辑器与普通的文本框不同,它可以提供多种文本格式选项,如字体、字号、颜色、对齐方式、列表、链接等,使得用户能够创建丰富多彩的网页内容。 2. **FCKeditor控件**:FCKeditor是一个...

    FCK文本编辑器

    6. **多语言支持**:FCK文本编辑器提供了多种语言版本,便于不同地区的用户使用。 7. **扩展性**:通过插件系统,可以扩展编辑器功能,如添加新的按钮、对话框或功能模块。 ### .NET 2.2框架的集成 FCK文本编辑器...

    FCK富文本编辑器

    **FCK富文本编辑器详解** FCKeditor是一款开源的JavaScript富文本编辑器,它为网页开发者提供了一种在浏览器端进行文字编辑、格式化和插入多媒体内容的强大工具。FCKeditor的名字来源于其创始人Fernando Monteiro的...

    FCK—富文本编辑器

    **FCK富文本编辑器**,作为一款网页版的Word,是前端开发中常见的文本编辑工具,它提供了用户友好的界面,使得非编程背景的人员也能轻松编辑和格式化网页内容。这款编辑器的主要功能是将HTML代码的复杂性隐藏在简洁...

    FCK在线文本编辑器的用法

    **FCK在线文本编辑器**是一款流行的开源在线文本编辑器,专为网页设计,提供**所见即所得**的编辑体验。它具有轻量级、跨平台的特点,能够与多种编程语言无缝集成,如PHP、ASP.NET、Java等。这款编辑器在业界具有较...

    JSP+FCK编辑器使用说明及中文问题

    JSP+FCK编辑器是Java Web开发中常用的一款富文本编辑工具,它允许用户在网页上创建和编辑内容,类似于Word的功能,支持图片上传、链接插入等操作。FCKeditor在早期非常流行,但由于后续的CKEditor的出现,FCKeditor...

    Fck文本编辑器 FCKeditor fckeditor

    **FCK文本编辑器——FCKeditor与fckeditor详解** FCK文本编辑器,全称为FCKeditor,是一个开源的富文本编辑器,主要用于网页内容的编辑和格式化。FCKeditor以其强大的功能和易用性,被广泛应用于网站后台管理系统、...

    FCK 在线编辑器 网站后台文本编辑器

    **FCK在线编辑器:网站后台文本编辑器详解** FCKeditor是一款开源的、功能强大的在线文本编辑器,主要用于网站后台管理系统中,提供类似于桌面文本编辑器的用户体验。这款编辑器使得用户在网页上编辑内容时,可以...

    FCK编辑器漏洞综合利用工具

    FCK编辑器是一款广泛应用于网站内容管理系统的开源富文本编辑器,它允许用户在网页上进行类似Word的文本编辑操作。然而,就像任何其他软件一样,FCK编辑器也存在安全漏洞,这些漏洞可能被恶意攻击者利用来进行渗透...

    .net fck 文本编辑器

    本文将深入探讨.NET环境下的FCK文本编辑器,包括其特点、安装配置、使用方法以及案例分析。 一、FCKeditor简介 FCKeditor是一款功能强大的JavaScript富文本编辑器,支持多种浏览器,并提供丰富的API供开发者进行...

    FCK在线文本编辑器

    总的来说,FCKeditor是一个强大且灵活的在线文本编辑工具,它简化了网页内容的创建和维护,提高了用户的交互体验。虽然现在已经有了更新的富文本编辑器,如CKEditor(FCKeditor的后续版本),但FCKeditor因其开源、...

    fck 文本编辑器

    2. **丰富的编辑功能**:FCKeditor提供了诸如字体选择、字号调整、颜色设置、对齐方式、插入图片、链接、表格等常见的文本编辑功能,使得用户在网页上可以像在桌面应用中一样编辑文本。 3. **易于集成**:FCKeditor...

    FCK编辑器及使用手册

    总结起来,FCKeditor是一款强大且灵活的富文本编辑器,通过与.NET框架的结合,为ASP.NET开发者提供了在Web应用中创建和管理富文本内容的有效工具。了解并熟练运用FCKeditor的各项功能和API,可以大大提高开发效率,...

    FCK编辑器使用手册

    FCK编辑器是一款广泛应用于Web开发领域的富文本编辑器,它提供了强大的编辑功能,能够帮助开发者快速构建出具备丰富文本处理能力的应用系统。然而,在实际使用过程中,可能会遇到一些常见的问题,比如瘦身操作后出现...

    FCK在线编辑器 简单实用的编辑工具

    在.NET环境中,FCKEditor通常通过ASP.NET来使用,它可以被嵌入到Web表单中,为用户提供类似Word的富文本编辑体验。用户可以通过这个编辑器进行文字格式化、插入图片、超链接、表格等操作,极大地提高了网页内容编辑...

    FCK文本编辑器的配置方法

    **FCK文本编辑器配置详解** FCKeditor是一款开源的Web富文本编辑器,它在Web应用中广泛用于提供类似于Microsoft Word的编辑体验,让用户在网页上进行文本格式化、插入图片、链接等操作。这款编辑器以其轻量级、易用...

    .net FCK编辑器 网站后台FCK编辑器

    总的来说,.NET FCK编辑器是.NET开发者在构建网站后台时的重要工具,它的强大功能和易用性,使其在众多文本编辑器中脱颖而出。虽然随着时间的推移,可能会有更新的选择,但.FCKeditor的历史地位和它为Web开发带来的...

    FCK文本编辑第三方控件

    总结来说,FCK文本编辑器是一款强大的网页富文本编辑工具,通过其丰富的功能和良好的兼容性,极大地提升了网页内容编辑的效率和用户体验。对于开发者而言,它提供了API和插件机制,便于自定义和扩展,是构建互动性强...

Global site tag (gtag.js) - Google Analytics