loading ...
loading...

2008-07-24 | FCKeditor2.6 + ASP.NET配置

分享
标签: FCKeditor  ASP.NET  下载  配置  引用 

    经过潜心研究FCKeditor终于可以用了,虽然还有很多功能没有实现,最起码它可以在页面上显示了,下面就把查阅的资料汇总一下。

    FCKeditor简介:
    FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的编程语言相结合。“FCKeditor”名称中的“FCK” 是这个编辑器的作者的名字Frederico Caldeira Knabben的缩写。
    FCKeditor相容于绝大部分的网页浏览器,像是:Internet Explorer 5.5+ (Windows)、Mozilla Firefox 1.0+、Mozilla 1.3+和Netscape 7+。在未来的版本也将会加入对Opera的支援。
    下图就是FCKeditor。

    FCKeditor相关资料:
    官方网站:http://www.fckeditor.net/
    官方文档:http://wiki.fckeditor.net/
    下载地址:http://www.fckeditor.net/download/default.html
    官方演示:http://www.fckeditor.net/demo/default.html

    下载:
    下载FCKeditor_2.6.2.zip和FCKeditor.Net_2.5.zip两个压缩包。
    FCKeditor2.6zip是其最新的Javascript文件和图片等;FCKeditor.NET.zip是一个ASP.NET控件DLL文件。FCKEditor目前的最新版本是2.6.2,但支持.NET的DLL版本还是2.5。

    FCKeditor安装:
    启动Microsoft Visual Studio 2005,新建“站点”,选择“ASP.NET”网站,选择位置,取名“FCKPro”(自己起的),如:E:\FCKPro,语言“Visual C#”。
    所谓安装就是一个简单的拷贝过程。把下载的FCKeditor_2.6.2.zip文件包解压缩,将fckeditor文件夹复制到刚新建的FCKPro的根目录下,这样根目录下就得到一个fckeditor(FCKeditor)文件夹,里面富含所有FCKeditor的核心文件。
    然后把下载的FCKeditor.Net_2.5.zip解压缩到硬盘的一个目录里,里面是FCKeditor.Net的源代码,你可以对它进行再度开发,本文尚不涉及本内容,我们只是直接使用其目录下的bin\Debug(\2.0)目录中的FredCK.FCKeditorV2.dll文件。

    在VS2005中添加对FredCK.FCKeditorV2.dll的引用:
    1.在E:\FCKPro工程浏览器上右键,选择添加引用(Add Reference…),找到浏览(Browse)标签,然后定位到你解压好的FredCK.FCKeditorV2.dll,确认就可以了。这时,FCKPro工程目录下就多了一个Bin文件夹,里面包含FredCK.FCKeditorV2.dll文件。当然,也可以完全人工方式的来做,把FredCK.FCKeditorV2.dll直接拷贝到FCKPro\bin下面,VS2005在编译时会自动把它编译进去的。
    2.为了方便RAD开发,我们把FCKeditor控件也添加到VS的工具箱(Toolbox)上来,展开工具箱的常规标签组(General),右键选择“添加选项卡”,给选项卡起名字FCKeditor,然后右键新建的选项卡,选择“选择项”,在对话框上直接找到浏览按钮,定位FredCK.FCKeditorV2.dll,然后确认就可以了。这时工具箱呈现出控件的样子,这样会省去很多在开发时使用FCKeditor控件时要添加的声明代码,和使用Label,TextBox等控件一样,直接拖到设计页面上用就可以了。
    至此,已经完成了FCKeditor的安装,并可以在你的项目中使用FCKeditor了,当然后面还有很多需要配置的东西。

    FCKeditor的详细设置:
    在VS2005里,进入FCKeditor文件夹,打开fckconfig.js文件。
    1、此步骤是必须的,也是最重要的一步。
    修改
    var _FileBrowserLanguage = ' php ' ; // asp | aspx | cfm | lasso | perl | php | py
    var _QuickUploadLanguage = ' php ' ; // asp | aspx | cfm | lasso | php
    为
    var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
    var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php
    2、配置语言包。有英文、繁体中文等,这里我们使用简体中文。
    修改
    FCKConfig.DefaultLanguage = 'en' ; 
    为
    FCKConfig.DefaultLanguage = 'zh-cn' ; 
    3、配置皮肤。有default、office2003、silver风格等,这里我们可以使用默认。
    FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ; 
    4、在编辑器域内可以使用Tab键。(1为是,0为否)
    FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ; 
    5、加上几种我们常用的字体的方法,例如:
    修改
    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'
    6、编辑器域内默认的显示字体为12px,想要修改可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,修改font-size属性即可。如font-size: 14px; 
    7、关于安全性。
    如果你的编辑器用在网站前台的话,那就不得不考虑安全了,在前台千万不要使用Default的toolbar,要么自定义一下功能,要么就用系统已经定义好的Basic,也就是基本的toolbar,修改
    FCKConfig.ToolbarSets["Basic"] = [
     ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About'] 
    为
    FCKConfig.ToolbarSets["Basic"] = [
    ['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-    ','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview'] 
    ] ; 
    这是改过的Basic,把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?
    当然也可以配置一下WebConfig,也能让它确保安全,接下来我们将讲到。

    FCKPro工程项目的设置:
    1、配置WebConfig,在<appSettings>节点添加,如下所示:
    <appSettings>
      <add key="FCKeditor:BasePath" value="/FCKPro(即项目名称)/fckeditor/"/>
      //Win2003下,Files目录一定要有IIS_WPG用户的写权限,否则可能无法上传
      <add key="FCKeditor:UserFilesPath" value="/ FCKPro(即项目名称)/Files/" />
    </appSettings>
    说明:BasePath是fckeditor所在的路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。UserFilesPath是所有上传的文件的所在目录。我们新建了一个Files文件夹放在了项目中做为上传文件的所在目录,这里为了方便,但由于考虑到安全性,我们建议Files要单独做wwwroot目录下的一个站点比较好,和我们的站点FCKEditor平行。不要把它放FCKEditor里,为什么呢?因为Files是要让客户有写的权限的,如果放FCKEditor下很危险。Files目录要有写的权限。你根据自己网站需求设置那个帐号,本文为方便设置User实际中你可能用ASP.NET帐号更合理。
    2、配置上传路径
    编辑FCKeditor\editor\filemanager\connectors\aspx\config.aspx 中修改
    private bool CheckAuthentication()
    {
    // WARNING : DO NOT simply return "true". By doing so, you are allowing
    // "anyone" to upload and list the files in your server. You must implement
    // some kind of session validation here. Even something very simple as...
    //
    // return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );
    //
    // ... where Session[ "IsAuthorized" ] is set to "true" as soon as the
    // user logs in your system.
    return true; //原来这里是 false;不过还是建议看看上面的警告
    }
    3、在FCKpro工程项目中编写一个最简单的页面
    <%@ Page Language="C#"  AutoEventWireup="true"   CodeFile="Default.aspx.cs" Inherits="_Default" validateRequest="false" %>
    <%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>
    // 默认为<%@ Page Language="C#"  AutoEventWireup="true"   CodeFile="Default.aspx.cs" Inherits="_Default" %>,我们要添加一个参数 validateRequest=false,否则提交带html代码的内容会报错:从客户端(...)中检测到有潜在危险的 Request.Form 值。
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
      <title>无标题页</title>
    </head>
    <body>
      <form id="form1" runat="server">
    <div>
    <FCKeditorV2:FCKeditor ID="FCKeditor1" runat="server">
    </FCKeditorV2:FCKeditor>
    </div>
    </form>
    </body>
    </html>
    如何获取其内容呢?读取FCKeditor1控件的Value属性值即可。

    FCKEditor 2.6的问题:
    1.FCKeditor出现this connector is disabled. Please check the“editor/filemanager/connectors/aspx/config.aspx”错误的解决办法。
    打开editor/filemanager/connectors/aspx/config.ascx修改CheckAuthentication()方法,返回true。
    2.在上传文件窗口点击浏览服务器,会出现“the server didn't send back a proper xml.....”错误提示,因为后期版本的FCKEditor要求不同类型的文件分别传到不同的目录,包括file,image,falsh,media等目录,一定要先建立起来。

分享 分享 |  评论 (4) |  阅读 (?)  |  固定链接 |  类别 (2008年7月) |  发表于 21:25  | 最后修改于 2008-07-24 21:32
搜狐博客温馨提示:搜狐博客官方不会要求参加活动的各位博友缴纳任何的手续费用。请勿轻信留言、评论中的中奖信息,更不要拨打陌生电话及向陌生帐户汇款,谨防受骗!识别更多网络骗术,请 点击查看详情
正在读取评论信息...
您还未登录,只能匿名发表评论。或者您可以 登录 后发表。
 
  *中国人爱国心,搜狗输入法爱国主题皮肤下载>>
表  情:
加载中...
回复通知: 同时用小纸条通知对方该回复