在使用fckeditor 的过程中,经常需要根据实际需要来设置工具栏,显示或隐藏工具栏上的部分按钮。
在默认情况下,fckeditor显示了全部的工具栏。在fckconfig.js中有两个工具栏的配置方案,一个是Default,一个是Basic。我们可以按照他的格式自定义几个选项。
FCKConfig.ToolbarSets["c1"] = [
['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
'/',
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink','Anchor'],
'/',
['Style','FontFormat','FontName','FontSize'],
['TextColor','BGColor'],
['FitWindow','ShowBlocks','-','About']?? // No comma for the last row.
] ;
在页面中使用fckeditor时可以写成这样
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
oFCKeditor.ToolbarSet="c1";
===========================================
最近研究了一下FCKeditor网页文本编辑器,它是一款专门使用在网页上属于开放源代码的所见即所得网页文本编辑器。它可以支持几乎所有的浏览器,也是目前网页中使用最多的文本编辑器。这里向大家简单介绍一下它的配置文件fckconfig.js中文注释。这些中文注释主要是通过网上搜索、FCKeditor官方的开发文档和自己的理解得来的,如果有理解错误的地方请高手留言指正。
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 ;?? //是否强制粘贴为纯文本内容
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.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.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.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 ;
===================================
FCkEditor确实是一个非常优秀的HTML在线编辑器,它的功能确实很强大,而且也非常的灵活,具有很强的定制性。
FCKEditor默认的工具栏项目很多,我们完全可以对其进行自定制,以满足自己的需求。
网上也有很多介绍定制工具栏的方法。下面就是其中的一种:
在fckconfig.js中找到FCKConfig.ToolbarSets?段,默认有两个工具条样式,一个是Default,一个是Basic(我的版本是2.5)。
增加如下一段:
FCKConfig.ToolbarSets["Custom"] = [ 2 ['FontFormat','FontName','FontSize'], 3 ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'], 4 ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'], 5 ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'], 6 ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'], 7 ['Link','Unlink','Anchor'], 8 ['TextColor','BGColor'],'/' 9 ['Cut','Copy','Paste','PasteText','PasteWord'], 10 ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], 11 ['FitWindow','ShowBlocks','-','Source','About'] // No comma for the last row. 12] ;?然后再调用代码中做如下更改
注意第7行是新增的,指定所要使用的工具栏
1<% 2 Dim oFCKeditor 3 Set oFCKeditor = New FCKeditor 4 oFCKeditor.BasePath = "edit/" 5 oFCKeditor.Value = "" 6 oFCKeditor.Config("SkinPath")="/website/manage/edit/editor/skins/silver/" 7 oFCKeditor.ToolbarSet = "Custom" 8 oFCKeditor.Create "txtcontent" 9%> 10?其定制语法很简单
[] 表示一个工具条,
[] 中的短横线'-'表示一个垂直分割线
'' 两个单引号中间加一个标识符表示一个工具栏按钮,具体的对应关系可以自己找。
'/' 作用类似于一个回车。使该符号后面的工具栏新起一行排列。