欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

FCKeditor文本编辑器的使用方法 fckeditor浏览器ASP.netCSSFlash 

程序员文章站 2022-06-07 21:37:59
...
    最近开发的一个新闻管理系统,后台用到了FCKeditor,显示到官网下载了一个demo程序,里面基本介绍了FCKeditor的功能和示例代码。google一翻很容易就找到一些文档,帮助我完成了功能的开发。

    FCKeditor要开启文件上传功能必须在web.xml配置servlet请求才能生效。

<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>
<!-- Do not wrap this line otherwise Glassfish will fail to load this file -->
<url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
</servlet-mapping>

   由于项目使用了struts2,filter的<url-pattern>/*</url-pattern>会过滤掉FCKeditor的请求,因此需做修改,缩小范围,例如:

<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

/***********************************************************/
FCKeditor是一个功能强大支持所见即所得功能的文本编辑器,可以为用户提供微软office软件一样的在线文档编辑服务。

它不需要安装任何形式的客户端,兼容绝大多数主流浏览器,支持ASP.Net、ASP、ColdFusion 、PHP、Jsp、Active-FoxPro、Lasso、Perl、ython 等编程环境。

官方网站 http://www.fckeditor.net/

官方文档 http://wiki.fckeditor.net/

下载地址 http://www.fckeditor.net/download/default.html

FCKeditor安装和配置

下载FCKeditor2.63.zip和FCKeditor.NET2.63版的2个zip包

(a)   FCKeditor_2.6.3是html文件、Javascript文件和图片等资源文件

(b)   FCKeditor.Net_2.6.3.zip是一个ASP.NET控件DLL文件

Asp.Net项目中添加对 FCKeditor 的引用

1. 项目上选择添加引用找到FredCK.FCKeditorV2.dll或直接将FredCK.FCKeditorV2.dll复制到项目的Bin目录中

2. 为了方便开发,可以把FredCK.FCKeditorV2.dll控件也添加到VS的工具箱中

3. 配置Web.Config,在<appSettings>节点添加,如下所示:

<appSettings>

<!--FCKeditor文本编辑控件配置-->

<add key="FCKeditor.BasePath" value="~/FCKeditor/"/>

<add key="FCKeditor.UserFilesPath" value="/解决方案名/uploads"/> //UserFilesPath的文路径可以在FCKeditor/editor/filemanager/connectors/aspx/config.ascx中更改

</appSettings>

4.网页中使用

<FCKeditorV2:FCKeditor ID="FCKeditor" runat="server" BasePath="~/FCKeditor/">//BasePath指定到FCKeditor的根目录
</FCKeditorV2:FCKeditor>


FCKeditor 的配置:


进入FCKeditor文件夹,编辑 fckconfig.js 文件


1、修改(改成自己当前使用的语言)


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


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


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 = ‘宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana’;


6、编辑器域内默认的显示字体为12px,想要修改可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,修改font-size属性即可


7、关于安全性


如果你的编辑器用在前台非认证的情况下,推荐使用Basic的toolbar


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


] ;

8、在上传文件窗口点击浏览服务器,可能会出现 the server didn’t send back a proper xml….. 错误提示,是因为FCKeditor要求不同类型的文件分别传到不同的目录,包括file,image,falsh,media 等目录,可以先建立起来试试。

FCKEditor.NET 2.6 的安全性配置

文件上传,出错:(This connector is disabled.please check the "editor/filemanager/connectors/aspx/config.ascx" file.)


打开 editor/filemanager/connectors/aspx/config.ascx 文件,返回true.


FCKConfig.LinkUploadURL //指定默认上传文件的地址

FCKConfig.LinkUploadAllowedExtensions //设置允许上传文件的扩展名

FCKConfig.LinkUploadDeniedExtensions = "" ; //设置允许上传脚本文件的扩展名

FCKConfig.ImageUpload = true ; //是否开启图片上传功能

FCKConfig.ImageUploadURL //指定默认上传图片文件的地址

FCKConfig.ImageUploadAllowedExtensions //设置允许上传图片文件的扩展名

FCKConfig.ImageUploadDeniedExtensions = "" ; //设置允许上传图片脚本文件的扩展名

FCKConfig.FlashUpload = true ; //是否开启Flash上传功能

FCKConfig.FlashUploadURL //Flash上传文件的地址

FCKConfig.FlashUploadAllowedExtensions //设置允许上传Flash文件的扩展名

FCKConfig.FlashUploadDeniedExtensions = "" ; //设置允许上传Flash脚本文件的扩展名

FCKConfig.SmileyPath //插入表情图标的路径

FCKConfig.SmileyImages //表情图标的文件名称

FCKConfig.SmileyColumns = 8 ; //表情窗口显示表情列数

FCKConfig.SmileyWindowWidth = 320 ; //表情窗口显示宽度,此窗口会因为表情文件的改变而作调整

FCKConfig.SmileyWindowHeight = 210 ; //表情窗口显示高度,此窗口会因为表情文件的改变而作调整

FCKConfig.BackgroundBlockerColor = '#ffffff' ; //编辑器弹出窗口时,背景遮照住的颜色

FCKConfig.BackgroundBlockerOpacity = 0.50 ; //编辑器弹出窗口时,背景遮照住的透明度

FCKConfig.MsWebBrowserControlCompat = false ;

FCKConfig.PreventSubmitHandler = false ;

FCKConfig.CleanWordKeepsStructure = false ; //是否设置直接粘贴为Word格式

FCKConfig.RemoveFormatTags //删除文字时是否删除相应的格式

FCKConfig.RemoveAttributes //删除文字时是否删除相应的样式

FCKConfig.CustomStyles //样式菜单

FCKConfig.CoreStyles //设置FCKeditor核心样式

FCKConfig.IndentLength = 40 ; //编辑器中缩进量的长度

FCKConfig.IndentUnit = 'px' ; //编辑器中缩进量的单位

FCKConfig.IndentClasses = [] ; //FCKeditor允许使用CSS缩进

FCKConfig.JustifyClasses = [] ; //FCKeditor允许使用CSS类文本

var _FileBrowserLanguage = 'php' ; //文件浏览器使用的语言

var _QuickUploadLanguage = 'php' ; //快速上传使用的语言

var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ; //文件浏览器扩展

var _QuickUploadExtension = _QuickUploadLanguage == 'perl' ? 'cgi' : _QuickUploadLanguage ; //快速上传扩展

FCKConfig.LinkBrowser = true ; //是否允许在插入链接时浏览服务器

FCKConfig.LinkBrowserURL //插入链接时浏览服务器的URL

FCKConfig.LinkBrowserWindowWidth //链接目标浏览器窗口宽度

FCKConfig.LinkBrowserWindowHeight //链接目标浏览器窗口高度

FCKConfig.ImageBrowser = true ; //是否关闭图片文件浏览服务器的功能

FCKConfig.ImageBrowserURL //图片文件浏览服务器的URL

FCKConfig.ImageBrowserWindowWidth //图像浏览器窗口宽度

FCKConfig.ImageBrowserWindowHeight //图像浏览器窗口高度

FCKConfig.FlashBrowser = true ; //是否关闭Flash浏览服务器的功能

FCKConfig.FlashBrowserURL //Flash浏览服务器的URL

FCKConfig.FlashBrowserWindowWidth //Flash浏览器窗口宽度

FCKConfig.FlashBrowserWindowHeight //Flash浏览器窗口高度

FCKConfig.LinkUpload = true ; //是否开启文件上传的功能

FCKConfig.BrowserContextMenu = false ; //是否允许在编辑区域中点击鼠标右键显示浏览器的上下文菜单

FCKConfig.EnableMoreFontColors = true ; //是否禁止更多颜色选项

FCKConfig.FontColors //文字颜色列表

FCKConfig.FontFormats //文字格式列表

FCKConfig.FontNames //字体列表

FCKConfig.FontSizes //字号列表

FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'fckstyles.xml' ; //CSS样式列表的XML文件的位置

FCKConfig.TemplatesXmlPath = FCKConfig.EditorPath + 'fcktemplates.xml' ; //模版的XML文件位置

FCKConfig.SpellChecker = 'WSC' ; //拼写检查器

FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/download.php' ; //下载拼写检查器的网址

FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ; //拼写检查器脚本路径

FCKConfig.FirefoxSpellChecker = false ; //Firefox浏览器拼写检查

FCKConfig.MaxUndoLevels = 15 ; //最大可以撤销的次数

FCKConfig.DisableObjectResizing = false ; //是否禁止用户调整图像和表格的大小

FCKConfig.DisableFFTableHandles = true ; //是否禁用表格工具

FCKConfig.LinkDlgHideTarget = false ; //是否隐藏Link窗口的target标签

FCKConfig.LinkDlgHideAdvanced = false ; //是否隐藏Link窗口的advanced标签

FCKConfig.ImageDlgHideLink = false ; //是否隐藏image窗口的link标签

FCKConfig.ImageDlgHideAdvanced = false ; //是否隐藏image窗口的advanced标签

FCKConfig.FlashDlgHideAdvanced = false ; //是否隐藏Flash窗口的advanced标签

FCKConfig.ProtectedTags = '' ; //添加HTML套用格式

FCKConfig.BodyId = '' ; //设置编辑器的id

FCKConfig.BodyClass = '' ; //设置编辑器的class

FCKConfig.DefaultStyleLabel = '' ; //设置文本编辑器的风格,默认为空白文档

FCKConfig.DefaultFontFormatLabel = '' ; //设置默认格式

FCKConfig.DefaultFontLabel = '' ; //设置默认字体

FCKConfig.DefaultFontSizeLabel = '' ; //设置默认字体大小

FCKConfig.DefaultLinkTarget = '' ; //设置默认链接目标为(_blank、_self _parent、_top)

FCKConfig.AutoDetectPasteFromWord = true ; //是否自动探测从word粘贴文件,仅支持IE

FCKConfig.ShowDropDialog = true ; //是否显示下拉菜单

FCKConfig.ForceSimpleAmpersand = false ; //是否不把&符号转换为XML实体

FCKConfig.TabSpaces = 0 ; //按下Tab键时光标跳格数,默认值为零为不跳格

FCKConfig.ShowBorders = true ; //是否合并边框

FCKConfig.SourcePopup = false ; //是否弹出

FCKConfig.ToolbarStartExpanded = true ; //启动FCKeditor工具栏默认是否展开

FCKConfig.ToolbarCanCollapse = true ; //是否允许折叠或展开工具栏

FCKConfig.IgnoreEmptyParagraphValue = true ; //是否忽略空的段落值

FCKConfig.FloatingPanelsZIndex = 10000 ; //浮动面板索引

FCKConfig.HtmlEncodeOutput = false ; //是否将HTML编码输出

FCKConfig.TemplateReplaceAll = true ; //是否替换所有模板

FCKConfig.TemplateReplaceCheckbox = true ; //是否将实际内容显示在模版窗口中

FCKConfig.ToolbarLocation = 'In' ; //工具栏位置

FCKConfig.ToolbarSets["Default"] //配置默认工具栏中各按钮,适合用于后台编辑

FCKConfig.ToolbarSets["Basic"] //配置基本工具栏按扭,适合前台编辑

FCKConfig.EnterMode = 'p' ; //编辑文本时按回车键自动生成<P></P>标签

FCKConfig.ShiftEnterMode = 'br' ; ////编辑文本时按Shift+回车键自动生成<br />标签

FCKConfig.Keystrokes //自定义键盘快捷键

FCKConfig.ContextMenu //定义右键菜单的内容

FCKConfig.BrowserContextMenuOnCtrl = false ; //是否允许在编辑区域中当按下Ctrl键时,点击鼠标右键显示浏览器的上下文菜单

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


FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ; //文本编辑区域的样式表文件路径



FCKConfig.EditorAreaStyles = '' ; //文本编辑区域的样式表风格

FCKConfig.ToolbarComboPreviewCSS = '' ; //工具栏预览CSS

FCKConfig.DocType = '' ; //文档类型

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

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

FCKConfig.StartupShowBlocks = false ; //是否启用"显示模块"

FCKConfig.Debug = false ; //是否开启调试窗口功能

FCKConfig.AllowQueryStringDebug = true ; //是否启用网页查询调试功能

FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ; //FCKeditor皮肤路径

FCKConfig.SkinEditorCSS = '' ; //编辑器的皮肤CSS路径

FCKConfig.SkinDialogCSS = '' ; //对话窗口的皮肤CSS路径

FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ;


//预装入的图片



FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ; //插件路径

FCKConfig.AutoGrowMax = 400 ;


//文本编辑区域允许自动增长的最大高度限制,设置此属性时应同时将


// FCKConfig.Plugins.Add( 'autogrow' ) ;属性的注释去除,配合使用

FCKConfig.AutoDetectLanguage = true ; //是否自动检测语言

FCKConfig.DefaultLanguage = 'en' ; //默认语言

FCKConfig.ContentLangDirection = 'ltr' ; //默认的文字方向,可选"ltr/rtl",即从左到右或从右到左

FCKConfig.ProcessHTMLEntities = true ; //处理HTML实体

FCKConfig.IncludeLatinEntities = true ; //包括拉丁文

FCKConfig.IncludeGreekEntities = true ; //包括希腊文

FCKConfig.ProcessNumericEntities = false ; //处理数字实体

FCKConfig.AdditionalNumericEntities = '' ; //附加的数字实体

FCKConfig.FillEmptyBlocks = true ; //是否填充空块

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

FCKConfig.FormatOutput = true ; //当输出内容时是否自动格式化代码

FCKConfig.FormatIndentator = ' ' ; //当在源码格式下缩进代码使用的字符

FCKConfig.EMailProtection = 'none' ; //侦测电子邮件链接

FCKConfig.EMailProtectionFunction = 'mt(NAME,DOMAIN,SUBJECT,BODY)' ; //侦测电子邮件链接

FCKConfig.StartupFocus = false ; //开启时焦点是否到编辑器,即打开页面时光标是否停留在fckeditor上

FCKConfig.ForcePasteAsPlainText = false ; //是否强制粘贴为纯文本内容

转自:http://group.datihu.com/hutong/article_104_232_1.html