fckeditor2.5.1配置

asp.net中

FCKeditor是目前最好的html文本编辑器,如果还不明白的话看了下图就知道了
效果图:

那么为什么说是FCKeditor的冰冷之心呢?这不是哗众取宠,主要是说它使用起来有点麻烦,下文就详细说明如何搞定这玩意儿。

1.FCKeditor的官方网站是:http://www.fckeditor.net/download 
目前最新的FCKeditor 2.4.2版本。
请在此页下载:http://sourceforge.net/project/showfiles.php?group_id=75348
如图所示:

要下载FCKeditor2.4.2.zip和   FCKeditor.NET版的2个zip包。

说明:
FCKeditor2.4.2.zip是其最新的Javascript文件和图片什么的;
FCKeditor.NET.zip是ASP.NET调用的DLL在里面。

2.分别解压后把FCKeditor2.4.2.zip里的fckeditor目录整个复制到网站中。

3.解压FCKeditor.NET.zip包后在FCKeditor.Net_2.2/bin/Debug目录里找到FredCK.FCKeditorV2.dll。其他文件没用,把FredCK.FCKeditorV2.dll复制到我们的网站,建立一个Bin目录

4.引用FredCK.FCKeditorV2.dll。
第一步:

第二步:

5.导入工具箱。
在“工具箱”下右键

点击“选择项”。弹出如图窗口:


点击浏览,找到dll所在目录。

这时发现工具箱里多出FCKeditor控件。

6.拖拽FCKeditor到页面上

7.配置WebConfig
<?xml version="1.0"?>
<!--
    注意: 除了手动编辑此文件以外,您还可以使用
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在
    machine.config.comments 中,该文件通常位于
    /Windows/Microsoft.Net/Framework/v2.x/Config 中
-->
<configuration>
  <appSettings>

    <add key="FCKeditor:BasePath" value="~/fckeditor/"/>

    <add key="FCKeditor:UserFilesPath" value="/Files/" />

  </appSettings>

  <connectionStrings/>
 <system.web>

说明:BasePath是fckeditor所在路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。
            UserFilesPath所有上传的文件的所在目录。为什么要设置成/Files这样而不是~/Files因为FCKeditor使用这个值来返回你上传后的文件的相对路径到客户端。否则的话客户访问的时候就会取客户的机器目录而不是http形式的目录。

建议:Files要单独做wwwroot目录下的一个站点比较好,和我们的站点FCKEditor平行。不要把它放FCKEditor里,为什么呢?因为Files是要让客户有写的权限的,如果放FCKEditor下很危险。

8.Files目录要有的权限。你根据自己网站需求设置那个帐号,本文为方便设置User实际中你可能用ASP.NET帐号更合理。

 9.修改fckeditor/fckconfig.js文件
在第182行的位置
var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php
改为
var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php

10.FCKeditor给其瘦身。以_打头的的都是范例文件或源文件,不过建议小心。

11.下面以上传图片示例说明如何使用,

点击“浏览服务器”。

弹出窗口很容易报错

如果报错XML request error: Internal Server Error(500),很可能就是目录路径不对和写权限没有。

选择图像



最后效果

前台代码:

<%@ Page Language="C#"  validateRequest=false AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>

<!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>FCKeditor文本编辑器</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <fckeditorv2:fckeditor id="FCKeditor1" runat="server" DefaultLanguage="zh-cn" Height="400px" Width="660px"
></fckeditorv2:fckeditor>

   
    </div>
    </form>
</body>
</html>

怎么样获取结果呢?FCKeditor1.Value就是。

 web.config中配置

        < location >
      
< appSettings >
      
< add key = " FCKeditor:BasePath "  value = " ~/FCKeditor/ "   />
      
< add key = " FCKeditor:UserFilesPath "  value = " ~/FCK_upload/ "   />
      
</ appSettings >
     
</ location >

    
< location path = " fckeditor " >
    
< system.web >
    
< pages theme = "" >
    
</ pages >
    
</ system.web >
    
</ location >

 

fckconfig.js中配置

FCKConfig.DefaultLanguage  = 'zh-cn' ;

FCKConfig.FontNames   = '宋体;黑体;隶书;楷体_GB2312;华文行楷;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;//设置字体列表

var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py

 

=======================================================================

asp中配置方法

1.修改文件 /Fckeditor/editor/filemanager/connectors/asp/io.asp

Sub SendUploadResults( errorNumber, fileUrl, fileName, customMsg )
Response.Clear
Response.CodePage=65001'新增加的行,防止中文乱码
Response.Charset="UTF-8"'新增加的行,防止中文乱码
Response.Write "<script type=""text/javascript"">"
Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", "/""" ) & """,""" & Replace( fileName, """", "/""" ) & """,""" & Replace( customMsg , """", "/""" ) & """) ;"
Response.Write "</script>"
Response.End
End Sub

2.修改文件 /Fckeditor/editor/filemanager/connectors/asp/config.asp

ConfigIsEnabled = True '设置允许上传

ConfigUserFilesPath = "/Upload/FCK/" '设置用户上传文件

ConfigAllowedExtensions.Add "File", "asf|bmp|doc|fla|flv|gif|jpeg|jpg|mid|mp3|pdf|png|ppt|rm|rmi|rtf|swf|txt|wma|wmv|xls|xml"
ConfigDeniedExtensions.Add "File", "asp|aspx|asa|asax|java|class|exe|php|pl|dll"

ConfigAllowedExtensions.Add "Image", "bmp|gif|jpeg|jpg|png"

ConfigAllowedExtensions.Add "Media", "asf|bmp|fla|flv|gif|jpeg|jpg|mid|mp3|png|ram|rm|rmi|swf|wma|wmv"

3.编辑区域的主CSS文件是 /Fckeditor/editor/css/fck_editorarea.css

4.整个fckconfig.js

FCKConfig.CustomConfigurationsPath = '' ;//自定义配置文件路径和名称

FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;
FCKConfig.EditorAreaStyles = '' ;//编辑区的样式表文件
FCKConfig.ToolbarComboPreviewCSS = '' ;

FCKConfig.DocType = '' ;

FCKConfig.BaseHref = '' ;//相对链接的基地址

FCKConfig.FullPage = false ;//是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容

// The following option determines whether the "Show Blocks" feature is enabled or not at startup.
FCKConfig.StartupShowBlocks = false ;

FCKConfig.Debug = false ;
FCKConfig.AllowQueryStringDebug = true ;

FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/silver/' ;//编辑器皮肤 default silver office2003
FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ;

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

// FCKConfig.Plugins.Add( 'autogrow' ) ;
// FCKConfig.Plugins.Add( 'dragresizetable' );
FCKConfig.AutoGrowMax = 400 ;

// FCKConfig.ProtectedSource.Add( /<%[/s/S]*?%>/g ) ; // ASP style server side code <%...%>
// FCKConfig.ProtectedSource.Add( /</?[/s/S]*?/?>/g ) ; // PHP style server side code
// FCKConfig.ProtectedSource.Add( /(<asp:[^/>]+>[/s|/S]*?<//asp:[^/>]+>)|(<asp:[^/>]+//>)/gi ) ; // ASP.Net style tags <asp:control>

FCKConfig.AutoDetectLanguage = true ;//自动检测语言
FCKConfig.DefaultLanguage   = 'zh-cn' ;//设置语言
FCKConfig.ContentLangDirection = 'ltr' ;//默认文字方向

FCKConfig.ProcessHTMLEntities = true ;
FCKConfig.IncludeLatinEntities = true ;
FCKConfig.IncludeGreekEntities = true ;

FCKConfig.ProcessNumericEntities = false ;

FCKConfig.AdditionalNumericEntities = '' ;   // Single Quote: "'"

FCKConfig.FillEmptyBlocks = true ;//使用这个功能,可以将空的块级元素用空格来替代

FCKConfig.FormatSource   = true ;//在切换到代码视图时是否自动格式化代码
FCKConfig.FormatOutput   = true ;
FCKConfig.FormatIndentator = '    ' ;

FCKConfig.StartupFocus = false ;//开启时FOCUS到编辑器
FCKConfig.ForcePasteAsPlainText = false ;//强制粘贴为纯文本
FCKConfig.AutoDetectPasteFromWord = true ; // IE only.
FCKConfig.ShowDropDialog = true ;
FCKConfig.ForceSimpleAmpersand = false ;//是否不把&符号转换为XML实体
FCKConfig.TabSpaces   = 1 ;//在编辑器中是否可以是否TAB键 0 不可用 1 为可用
FCKConfig.ShowBorders = true ;//合并边框
FCKConfig.SourcePopup = false ;
FCKConfig.ToolbarStartExpanded = true ;
FCKConfig.ToolbarCanCollapse = true ;//是否允许展开/折叠工具栏
FCKConfig.IgnoreEmptyParagraphValue = true ;
FCKConfig.PreserveSessionOnFileBrowser = false ;
FCKConfig.FloatingPanelsZIndex = 10000 ;
FCKConfig.HtmlEncodeOutput = false ;

FCKConfig.TemplateReplaceAll = true ;
FCKConfig.TemplateReplaceCheckbox = true ;

FCKConfig.ToolbarLocation = 'In' ;

FCKConfig.ToolbarSets["Default"] = [
['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
'/',
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink','Anchor'],
['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
'/',
['Style','FontFormat','FontName','FontSize'],
['TextColor','BGColor'],
['FitWindow','ShowBlocks']// No comma for the last row.
] ;

FCKConfig.ToolbarSets["Redgull"] = [
['Source','-','Preview','ShowBlocks','FitWindow','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','Undo','Redo'],
['Find','Replace','-','SelectAll','RemoveFormat'],'/',
['TextColor','BGColor','-','Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent','-','JustifyLeft','JustifyCenter','JustifyRight','Link','Unlink'],'/',
['Style','FontFormat','FontName','FontSize'],'/',
['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField','-','Image','Flash','Table','Rule','Smiley','SpecialChar']
] ;

FCKConfig.ToolbarSets["Basic"] = [['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink']];

FCKConfig.EnterMode = 'p' ;    // p | div | br | 回车键入代码
FCKConfig.ShiftEnterMode = 'br' ; // p | div | br | Shift加回车键入代码

FCKConfig.Keystrokes = [
[ CTRL + 65 /*A*/, true ],
[ CTRL + 67 /*C*/, true ],
[ CTRL + 70 /*F*/, true ],
[ CTRL + 83 /*S*/, true ],
[ CTRL + 88 /*X*/, true ],
[ CTRL + 86 /*V*/, 'Paste' ],
[ SHIFT + 45 /*INS*/, 'Paste' ],
[ CTRL + 88 /*X*/, 'Cut' ],
[ SHIFT + 46 /*DEL*/, 'Cut' ],
[ CTRL + 90 /*Z*/, 'Undo' ],
[ CTRL + 89 /*Y*/, 'Redo' ],
[ CTRL + SHIFT + 90 /*Z*/, 'Redo' ],
[ CTRL + 76 /*L*/, 'Link' ],
[ CTRL + 66 /*B*/, 'Bold' ],
[ CTRL + 73 /*I*/, 'Italic' ],
[ CTRL + 85 /*U*/, 'Underline' ],
[ CTRL + SHIFT + 83 /*S*/, 'Save' ],
[ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ],
[ CTRL + 9 /*TAB*/, 'Source' ]
] ;

//右键菜单的内容
FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form'] ;
FCKConfig.BrowserContextMenuOnCtrl = false ;

FCKConfig.EnableMoreFontColors = true ;
FCKConfig.FontColors = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF' ;

FCKConfig.FontFormats = 'p;h1;h2;h3;h4;h5;h6;pre;address;div' ;
FCKConfig.FontNames   = '宋体;黑体;隶书;楷体_GB2312;华文行楷;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;//设置字体列表
FCKConfig.FontSizes   = '12px;14px;smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;

FCKConfig.StylesXmlPath   = FCKConfig.EditorPath + 'fckstyles.xml' ;
FCKConfig.TemplatesXmlPath = FCKConfig.EditorPath + 'fcktemplates.xml' ;

FCKConfig.SpellChecker    = 'ieSpell' ; // 'ieSpell' | 'SpellerPages'
FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/download.php' ;
FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ; // Available extension: .php .cfm .pl
FCKConfig.FirefoxSpellChecker = false ;

FCKConfig.MaxUndoLevels = 15 ;

FCKConfig.DisableObjectResizing = false ;
FCKConfig.DisableFFTableHandles = true ;

FCKConfig.LinkDlgHideTarget   = false ;
FCKConfig.LinkDlgHideAdvanced = false ;

FCKConfig.ImageDlgHideLink   = false ;
FCKConfig.ImageDlgHideAdvanced = false ;

FCKConfig.FlashDlgHideAdvanced = false ;

FCKConfig.ProtectedTags = '' ;

// This will be applied to the body element of the editor
FCKConfig.BodyId = '' ;
FCKConfig.BodyClass = '' ;

FCKConfig.DefaultStyleLabel = '' ;
FCKConfig.DefaultFontFormatLabel = '' ;
FCKConfig.DefaultFontLabel = '' ;
FCKConfig.DefaultFontSizeLabel = '' ;

FCKConfig.DefaultLinkTarget = '' ;

// The option switches between trying to keep the html structure or do the changes so the content looks like it was in Word
FCKConfig.CleanWordKeepsStructure = false ;

// Only inline elements are valid.
FCKConfig.RemoveFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' ;

FCKConfig.CustomStyles =
{
'Red Title' : { Element : 'h3', Styles : { 'color' : 'Red' } }
};

// Do not add, rename or remove styles here. Only apply definition changes.
FCKConfig.CoreStyles =
{
// Basic Inline Styles.
'Bold'    : { Element : 'b', Overrides : 'strong' },
'Italic'   : { Element : 'i', Overrides : 'em' },
'Underline'   : { Element : 'u' },
'StrikeThrough' : { Element : 'strike' },
'Subscript'   : { Element : 'sub' },
'Superscript' : { Element : 'sup' },

// Basic Block Styles (Font Format Combo).
'p'     : { Element : 'p' },
'div'    : { Element : 'div' },
'pre'    : { Element : 'pre' },
'address'   : { Element : 'address' },
'h1'    : { Element : 'h1' },
'h2'    : { Element : 'h2' },
'h3'    : { Element : 'h3' },
'h4'    : { Element : 'h4' },
'h5'    : { Element : 'h5' },
'h6'    : { Element : 'h6' },

// Other formatting features.
'FontFace' :
{
   Element   : 'span',
   Styles   : { 'font-family' : '#("Font")' },
   Overrides : [ { Element : 'font', Attributes : { 'face' : null } } ]
},

'Size' :
{
   Element   : 'span',
   Styles   : { 'font-size' : '#("Size","fontSize")' },
   Overrides : [ { Element : 'font', Attributes : { 'size' : null } } ]
},

'Color' :
{
   Element   : 'span',
   Styles   : { 'color' : '#("Color","color")' },
   Overrides : [ { Element : 'font', Attributes : { 'color' : null } } ]
},

'BackColor'   : { Element : 'span', Styles : { 'background-color' : '#("Color","color")' } }
};

// The distance of an indentation step.
FCKConfig.IndentLength = 40 ;
FCKConfig.IndentUnit = 'px' ;

// Alternatively, FCKeditor allows the use of CSS classes for block indentation.
// This overrides the IndentLength/IndentUnit settings.
FCKConfig.IndentClasses = [] ;

// [ Left, Center, Right, Justified ]
FCKConfig.JustifyClasses = [] ;

// The following value defines which File Browser connector and Quick Upload
// "uploader" to use. It is valid for the default implementaion and it is here
// just to make this configuration file cleaner.
// It is not possible to change this value using an external file or even
// inline when creating the editor instance. In that cases you must set the
// values of LinkBrowserURL, ImageBrowserURL and so on.
// Custom implementations should just ignore it.
var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py | 使用什么写什么
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py | 使用什么写什么

// Don't care about the following two lines. It just calculates the correct connector
// extension to use for the default File Browser (Perl uses "cgi").
var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ;
var _QuickUploadExtension = _QuickUploadLanguage == 'perl' ? 'cgi' : _QuickUploadLanguage ;

FCKConfig.LinkBrowser = false ;//是否允许在插入链接时浏览服务器
//插入链接时浏览服务器的URL
FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=../../connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;
FCKConfig.LinkBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ;   // 70% 链接目标浏览器窗口宽度
FCKConfig.LinkBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70% 链接目标浏览器窗口高度

FCKConfig.ImageBrowser = true ;//是否允许浏览服务器功能
//浏览服务器时运行的URL
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=../../connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;
FCKConfig.ImageBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; // 70% 图像浏览器窗口宽度;
FCKConfig.ImageBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70% 图像浏览器窗口高度;

FCKConfig.FlashBrowser = true ;
FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=../../connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;
FCKConfig.FlashBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; //70% ;
FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; //70% ;

FCKConfig.LinkUpload = true ;
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ;
//允许上传文件的扩展名
FCKConfig.LinkUploadAllowedExtensions = ".(asf|bmp|doc|fla|flv|gif|jpeg|jpg|mid|mp3|png|ppt|ram|rtf|swf|txt|wma|wmv)$" ;// empty for all
//禁止上传的文件扩展名
FCKConfig.LinkUploadDeniedExtensions = "" ; // empty for no one

FCKConfig.ImageUpload = true ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Image' ;
FCKConfig.ImageUploadAllowedExtensions = ".(jpg|gif|jpeg|png|bmp)$" ;   // empty for all
FCKConfig.ImageUploadDeniedExtensions = "" ;        // empty for no one

FCKConfig.FlashUpload = true ;
FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Flash' ;
FCKConfig.FlashUploadAllowedExtensions = ".(swf|flv)$" ;   // empty for all
FCKConfig.FlashUploadDeniedExtensions = "" ;      // empty for no one

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 = 240 ;

对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进

    用过FckEditor的朋友都知道,它的选择图片对话框中“浏览服务器”按钮。点击该按钮可以浏览以前已经上传过的文件。不过这个按钮点击后弹出的对话框在MAXTHON浏览器下是以标签形式打开的,这样模态对话框就始终显示在了浏览文件窗口之前,要想选择文件得先关掉模态对话框。先前有朋友提出把弹出模态对话框的功能改为ShowModlessDialog,这个终究不是解决之道,现将我的解决方法写下来与大家分享:
思路就是基于IE内核的浏览器采用模态对话框弹出浏览服务器窗口,其他的仍然window.open不变

1:修改/fckeditor/editor/dialog/common/fck_dialog_common.js
 1  function  OpenFileBrowser( url, width, height )
 2  {
 3       //  oEditor must be defined.
 4 
 5       var  iLeft  =  ( oEditor.FCKConfig.ScreenWidth   -  width )  /   2  ;
 6       var  iTop   =  ( oEditor.FCKConfig.ScreenHeight  -  height )  /   2  ;
 7 
 8       var  sOptions  =   " toolbar=no,status=no,resizable=no,dependent=yes,scrollbars=yes "  ;
 9      sOptions  +=   " ,width= "   +  width ;
10      sOptions  +=   " ,height= "   +  height ;
11      sOptions  +=   " ,left= "   +  iLeft ;
12      sOptions  +=   " ,top= "   +  iTop ;
13 
14       //  The "PreserveSessionOnFileBrowser" because the above code could be
15       //  blocked by popup blockers.
16       if  ( oEditor.FCKConfig.PreserveSessionOnFileBrowser  &&  oEditor.FCKBrowserInfo.IsIE )
17      {
18           //  The following change has been made otherwise IE will open the file
19           //  browser on a different server session (on some cases):
20           //  http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
21           //  by Simone Chiaretta.
22           var  oWindow  =  oEditor.window.open( url, 'FCKBrowseWindow', sOptions ) ;
23 
24           if  ( oWindow )
25          {
26               //  Detect Yahoo popup blocker.
27               try
28              {
29                   var  sTest  =  oWindow.name ;  //  Yahoo returns "something", but we can't access it, so detect that and avoid strange errors for the user.
30                  oWindow.opener  =  window ;
31              }
32               catch (e)
33              {
34                  alert( oEditor.FCKLang.BrowseServerBlocked ) ;
35              }
36          }
37           else
38              alert( oEditor.FCKLang.BrowseServerBlocked ) ;
39      }
40       else
41      {    
            //这里是修改部分
42           if (oEditor.FCKBrowserInfo.IsIE)
43          {
44              window.showModalDialog(url + " &rdm= " + new  Date(),window, " status:false;dialogWidth: " + width + " px;dialogHeight: " + height + " px/ "" );
45          }
46          else
47          {
48              window.open( url, 'FCKBrowseWindow', sOptions ) ;
49          }
50      }
51  }

2:修改/fckeditor/editor/filemanager/browser/default/frmresourceslist.html
function  OpenFile( fileUrl )
{
    
if ( window.dialogArguments)
    {
        window.dialogArguments.SetUrl( fileUrl ) ;
        window.close() ;
        window.dialogArguments.focus() ;
    }
    
else
    {    
        window.top.opener.SetUrl( fileUrl ) ;
        window.top.close() ;
        window.top.opener.focus() ;    
    }
}


========================================================================
上传附件出错的修改方法
I had this problem as well . The problem is that it can't find the type of resource for upload . I assume that it should detect the resource type by file extension , but there is no code to do that .

I fixed it by adding the resource
type " File " in the config . I think this is a workaround , but it worked for me .

So the link browser url looks somewhat like this
( added Type = File& ) :
FCKConfig
. LinkBrowserURL = FCKConfig . BasePath + 'filemanager / browser / default / browser . html? Type = File&Connector =../../../../ connector . ' + _FileBrowserExtension ;

And the quick upload looks like this
( added + '? Type = File' ) :
FCKConfig
. LinkUploadURL = FCKConfig . BasePath + ' ../ upload . ' + _QuickUploadExtension + '? Type = File' ;
========================================================================
asp.net 修改为自动重命名
while ( true )
   {
                //string sFilePath = System.IO.Path.Combine( sServerDir, sFileName );
                //if ( System.IO.File.Exists( sFilePath ) )
                //{
                //    iCounter++;
                //    sFileName =
                //        System.IO.Path.GetFileNameWithoutExtension( oFile.FileName ) +
                //        "(" + iCounter + ")." +
                //        sExtension;
                //    iErrorNumber = 201;
                //}
                //else
                //{                   
                //    oFile.SaveAs( sFilePath );
                //    break;
                //}
                //实现上传重命名
                sFileName = DateTime.Now.ToString().Replace("-", "").Replace(" ", "").Replace(":", "") + System.IO.Path.GetExtension(oFile.FileName);
                string sFilePath = System.IO.Path.Combine(sServerDir, sFileName);
                oFile.SaveAs(sFilePath);
                break;
   }
=======================================================================

这里介绍一个FCK的插件,多媒体插件,支持Windows Media,Real,QuickTime,Flash,Shockwave,完全可以替换FCK自带的flash插入功能。

插件的具体使用方法如下:

1、解压文件到 FCKeditor/editor/plugins

2、修改配置文件 FCKeditor/fckconfig.js ,包括启用插件和添加按钮。

JavaScript代码

FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;         //找到这一句,配置插件路径

FCKConfig.Plugins.Add( 'Media''en,zh,zh-cn' ) ;  //启用插件

  

…………  //中间代码省略

  

FCKConfig.ToolbarSets["Default"] = [  

    ['Source','Templates'],  

    ['FontName','FontSize'],  

    ['TextColor','BGColor'],  

    ['Image','Flash'],  //可以用Media替换Flash

    ['Table','Rule'],  

    ['FitWindow','ShowBlocks'],  

   ['Smiley','SpecialChar','Media'], //或者加入Media按钮

    '/',  

    ['PasteText','PasteWord','RemoveFormat'],  

    ['Undo','Redo','Find','Replace'],  

    ['Bold','Italic','Underline','StrikeThrough'],  

    ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],  

    ['JustifyLeft','JustifyCenter','JustifyRight'],  

    ['Anchor','Link','Unlink'] //我的按钮的配置,可能和你的不太一样

] ;  

 

找到类似代码添加如下内容

FCKConfig.MediaUpload = true ;
FCKConfig.MediaUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Image' ;
FCKConfig.MediaUploadAllowedExtensions = ".(avi|asf)$" ;  // empty for all
FCKConfig.MediaUploadDeniedExtensions = "" ;       // empty for no one

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值