`
huibin
  • 浏览: 757194 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

FCK添加自义功能、按钮

阅读更多

需要修改的文件:

fckconfig.js
zh-cn.js
fckeditorcode_gecko.js || fckeditorcode_ie.js(这里针对gecko的浏览器,ie的相同)
Step 1:在Toolbar中添加功能按钮

        fckconfig.js:FCKConfig.ToolbarSets[“Basic”] 中添加按钮名称
      

FCKConfig.ToolbarSets["Basic"] = [  
     ['Bold','Italic','-','About', 'Test']  
] ;

Step 2:为按钮添加中文名称

    zh-cn.js:为你的按钮起个名字

DlgAboutInfo         : "要获得更多信息请访问 ",  
Test                : "测试"

Step 3:在Toolbar中显示该按钮

      fckeditorcode_gecko.js:(这个JS的代码经过压缩,可以使用工具格式化再进行修改)

    查找:

case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;  

       在break后插入你的代码
     

case 'Test':B=new FCKToolbarButton('Test',FCKLang.Test,null,null,true,null,50);break;


        这样就可以在Toolbar中显示你的按钮了

Step 4:定义按钮功能原型
   
    ckeditorcode_gecko.js:

    查找:


var FCKNewPageCommand=function(){this.Name='NewPage';};  
FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};  
FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};  


   
    定义功能原型:(这里直接复NewPage的实现代码,可修改成自已的)


var FCKTestCommand=function(){this.Name='NewPage';};  
FCKTestCommand.prototype.Execute=function(){function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};
FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};

   
    将上面代码搜入到查找内容之后。

Step 5:按钮功能实例化:

    ckeditorcode_gecko.js:
   
    查找:


case 'NewPage':B=new FCKNewPageCommand();break;  


    功能实例化:


case 'Test':B=new FCKTestCommand();break;

 

    将上面代码搜入到查找内容之后。


OK,这样就可以在为FCKeditor加上自定义的按钮了。


--------------------------------------------------------------------------------

http://itblog.org/read.php?id=103 这是原文,我就是看着这个做出来的 感谢作者
但过程中遇到些问题 下面对这篇文章做了一些小的解释 希望对象我这样的菜鸟有所帮助
增加按钮有以下几步:
1、为按钮增加图片:
FCK的所有按钮图片是存放在一个图片文件 里的,这一点比较独特,文件存放在相应皮肤目录下,如:/FCK/skins/silever/fck_strip.gif。通过Fireworks或 Phtoshop打开该文件可以发现一个很长的图片,里面包含所有按钮的图片,现在您可以在该图片的最下面增加您自定义的按钮,注意,每个按钮的尺寸是 16*16px。

2、为按钮增加功能代码
增 加按钮需要对FCK/editor/js目录中的两个核心文件进行修改:fckeditorcode_gecko.js和 fckeditorcode_ie.js,前者是使用于gecko核心的浏览器如Firefox等,而后者应用于以IE为核心的浏览器如MyIE(傲游) 等,这两个文件大体是相似的,仅有微小差别,在此我们基本无须担心。
修改的方法非常简单,基本是一个照葫芦画瓢 的过程,首先我们找一个与我们将要添加的按钮功能相似的一个按钮,这里我们选择了Newpage,这是一个清空编辑器以备新建一个文件的按钮。首先我们修 改fckeditorcode_ie.js,fckeditorcode_gecko.js直接复制更改的代码就可以了。

打开 fckeditorcode_ie.js,这里需要说明的是,fckeditorcode_ie.js是多个文件合并经过代码优化的(即去掉了大部分换 行、空格、注释等)不是很容易阅读,而且这样一百多K的JS文件用Dreamweaver、ZDE等工具打开后CPU立刻升至100%,相信计算机就变成 痴呆一样了,经过一翻比较,发现曾被我认为一文不值的Golive竟然可以轻松打开该文件并快速编辑!(!VS也可以)不管你用什么软件反正能打开并编辑就行了。以关键词Newpage进行查找,你会发现一个按钮的功能定义分三大部分:

A、功能原型
// 按钮功能原型
var FCKNewPageCommand=function(){this.Name='NewPage';};
FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};
FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};

var FCKMyAlbumCommand=function(){this.Name='DISPLAY: none';};
FCKMyAlbumCommand.prototype.Execute=function(){if(typeof(parent.showMyAlbum)=="function"){parent.showMyAlbum(FCK);}else{alert(FCKLang.NoAlbum);}};
FCKMyAlbumCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};
(!showMyAlbum应为函数 放在调用编辑器的页面里)
B、功能的实例化
case 'NewPage':B=new FCKNewPageCommand();break;
case 'MyAlbum':B=new FCKMyAlbumCommand();break;

C、按钮的显示
case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true,null,4);break;
case 'MyAlbum':B=new FCKToolbarButton('MyAlbum',FCKLang.MyAlbum,null,null,true,null,67);break;
上面代码中第一部分是Newpage的原代码,后一部分是我们自定义的代码,您一看应该明白怎么回事了吧?仅红色部分和名称不同而已!而红色部分就是我们的自定义功能。
FCKLang是语言包对象,您只要打开FCK/editor/lang/下面的相应语言包添加相应的名称属性就可以了,比如:MyAlbum打开我的像册。注意大小写!至此我们的添加工作已完成。


但是,接着发现有个问题,就是怎么往编辑域内插入HTML代码了,忽然想起FCK自带的API似乎有这个功能,于是就去示例页查找,终于在/FCKeditor/_samples/html/sample08.html找到方法了.用

var oEditor = FCKeditorAPI.GetInstance('content'); if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG ){oEditor.InsertHtml('<p>----------||----------</p>');}else{alert ('不能在源代码模式下进行该操作!');}

代替

var oEditor = FCKeditorAPI.GetInstance('content'); if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG ){oEditor.InsertHtml('<p>----------||----------</p>');}else{alert ('不能在源代码模式下进行该操作!');}

这一段

FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;

注意:FCKeditorAPI.GetInstance('content'); 其中content是编辑器的名称

 


这里可以这样写

function showMyAlbum(oEditor)
{
if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG ){oEditor.InsertHtml('<p>Success! </p>');}else{alert ('不能在源代码模式下进行该操作!');}
}

这样就可以在页面里自定义编辑器id而不用更改函数


fckconfig.js里面的

FCKConfig.ToolbarSets["Default"] = [
    ['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','-','Cowboy']        // No comma for the last row.

在这里设置要显示的按钮

 

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

 

(一).添加自定义工具栏


涉及到三组文件:
1.fckeditor\editor\lang下的文件(这是界面多语言支持的文件夹,在此只修改英文和简体中文支持的.js文件)

en.js:

zh-cn.js:

2.fckeditor\editor\js下的文件(这是多浏览器支持的文件夹,FCKEditor 核心代码。为了减少大小,该文件夹的文件已被压缩,未被压缩的文件在"fckeditor\editor\_source"中。
fckeditorcode_gecko.js:提供"类火狐"等浏览器支持。
fckeditorcode_ie.js:提供"类IE"等浏览器支持。
以上文件共要改两处:
(1).在以上文件中查找"default:if (FCKRegexLib",在default 前插入"case 'InsertCode':B = new FCKDialogCommand('InsertCode' ,FCKLang.InsertCode ,'dialog/InsertCode/InsertCode.aspx',700,600);break"
FCKDialogCommand()方法:
参数1,2:按钮名称,跟前面语言支持文件中定义的对应
参数3:点击该按钮后显示的文件
参数4,5:弹出窗口的宽和高

(2).继续查找"default:alert(FCKLang.UnknownToolbarItem",在"default"前插入"case 'InsertCode':B = new FCKToolbarButton('InsertCode', FCKLang.InsertCode,null,null,null,null,69);break;"

最后的参数是工具栏图标的索引(FCKEditor版本不同,索引不同),图标文件fckeditor\editor\skins\office2003\fck_strip.gif,在图片的最后增加一个16*16的图标。索引计算方法是:该图片高度除16即得到最后一个图标索引号。
3.fckeditor\fckconfig.js

 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qbb3050466/archive/2009/02/11/3877521.aspx

分享到:
评论

相关推荐

    FCK添加上传视频插件

    "FCK添加上传视频插件"这个主题,主要是关于如何在FCKeditor中集成视频上传功能,使得用户可以像上传图片一样方便地上传和插入视频到编辑内容中。接下来,我们将详细探讨这个过程及其涉及的技术点。 首先,...

    fck编辑器 增加了表情

    在“fck编辑器增加了表情”这一主题中,我们主要关注的是FCKeditor如何扩展其功能,以支持表情的插入和管理。在默认情况下,FCKeditor可能只提供基本的文字编辑功能,但通过自定义和扩展,我们可以将其转变为一个...

    强大的FCK编辑器修改版兼容多个浏览器支持图片上传功能

    例如,你可以修改工具栏按钮的布局,添加自定义插件,或者改变编辑器的皮肤。 6. **安全性**:由于编辑器涉及到用户输入,所以安全性是不可忽视的一环。这个修改版可能已经考虑到了XSS(跨站脚本攻击)和其他安全...

    fck文档+jar包

    FCKjar包,很可能是指包含了FCK编辑器所有必要组件的Java库,开发者可以将这个jar包导入到他们的Java项目中,以便在网页应用中集成FCK编辑器的功能。 下面将详细探讨FCK编辑器的核心功能、如何使用FCK文档以及如何...

    fck文件上传模板

    开发者可以通过编写自定义插件来增强或修改原有的上传功能,例如添加进度条显示、多文件同时上传等。 6. **安全问题**:文件上传功能必须考虑安全问题,防止恶意用户上传脚本文件或其他可能导致安全漏洞的文件。...

    FCK在线编辑器 !

    FCK在线编辑器 它有什么功能百度基本都能知道 ...实例就不给了 自己配置一次 才能记忆... 我们添加一个选项卡,取名为FCK,在其下 “选择项”,浏览到当前项目里的 D:\FckDemo\bin\FredCK.FCKeditorV2.dll,点确定。。。

    FCK编辑器(FCKEditor)添加新按钮和功能的修改方法

    为了使按钮能在不同语言版本的编辑器中正确显示其功能说明,需要在`zh-cn.js`(中文版)和`en.js`(英文版)文件中为新按钮添加相应的中文和英文名称。这个步骤确保了不同语言环境下用户都能清楚了解每个按钮的作用...

    FCK配置过的源代码

    FCKeditor的工具栏可以根据需求进行自定义,展示或隐藏某些功能按钮,如“插入图片”、“链接”、“格式化”等。这涉及到对`fckconfig.js`文件的修改,添加或删除工具栏按钮的定义,以满足不同用户群体的需求。 5....

    fck上传等功能不能使用(fck和ie9的问题)

    ### fck上传等功能不能使用(fck和ie9的问题) #### 概述 在使用FCKeditor时,可能会遇到在Internet Explorer 9 (IE9) 浏览器中某些功能无法正常工作的情况,例如文件上传功能。这主要是由于IE9与FCKeditor之间...

    网页FCK编辑控件示例

    3. **可扩展性**:FCKeditor允许开发者通过插件进行功能扩展,以满足特定需求,例如添加新的按钮、工具栏项或支持新的文件类型。 4. **自定义配置**:用户可以根据自己的需求调整编辑器的外观和行为,包括工具栏...

    FCK文本编辑器

    7. **扩展性**:通过插件系统,可以扩展编辑器功能,如添加新的按钮、对话框或功能模块。 ### .NET 2.2框架的集成 FCK文本编辑器可以与.NET 2.2框架无缝集成,使得ASP.NET开发者能够轻松在网页中实现富文本编辑...

    FCK代码高亮插件

    **FCK代码高亮插件**是一款用于增强文本编辑器功能的工具,它能够帮助用户在编辑代码时实现代码的语法高亮显示,使得代码更易于阅读和理解。这款插件通常集成在富文本编辑器(如FCKeditor)中,提供了一种便捷的方式...

    asp.NET 下配置好的fck 可以上传多媒体

    3. **配置FCKeditor**:集成FCKeditor到ASP.NET应用中,需要在页面中添加控件,并配置编辑器的相关参数,如工具栏设置、语言、皮肤等。这通常在.aspx页面或母版页的代码中完成。 4. **多媒体上传支持**:FCKeditor...

    FCK控件 fckeditor

    4. **可扩展性**:FCKeditor允许开发者通过编写插件来扩展其功能,例如添加自定义按钮、工具栏项或处理特定的文件类型。 5. **兼容性**:该编辑器能很好地与各种Web浏览器(如IE、Firefox、Chrome、Safari等)兼容...

    FCK(fckeditor)远程图片上传功能

    在IT行业中,FCK(fckeditor)是一款非常知名的开源富文本编辑器,它为用户提供了方便的在线文本编辑体验。FCKeditor支持多种功能,其中包括我们关注的“远程图片上传”功能。这个特性允许用户直接从互联网上引用图片...

    FCK使用

    标题"FCK使用"指的是FCKeditor的使用教程或经验分享,FCKeditor是一个曾经非常流行的开源HTML文本编辑器,常用于网站内容管理系统中,让用户能够像在Word中一样编辑网页内容。这篇博客文章可能详细介绍了如何集成、...

    FCK编辑器使用帮助

    #### 三、功能按钮详解 ##### A. 源代码视图 - **功能说明**:切换到源代码模式,可以查看和编辑HTML源代码。 - **操作方式**:点击后编辑器进入源代码模式,此时仅支持“全屏编辑”、“预览”、“新建”和“全选”...

    FCK简装版 fck表情版

    同时,开发者还可以根据项目需求调整编辑器的界面风格,添加或移除工具栏按钮,以及定制表情库。 总的来说,FCK简装版 fck表情版是一个简洁、高效且具有表情功能的富文本编辑器,适用于那些希望在网页上提供直观...

    2.6.3最新fck

    例如,可以添加图片管理器来方便用户上传和管理图片,或者添加视频插入功能,以支持嵌入在线视频。这些插件使得FCKeditor不仅限于基本的文字编辑,而是成为一个全面的内容创作平台。 在实际应用中,FCKeditor的文件...

    fck 2.6.6 java版

    FCKeditor 2.6.6支持插件开发,开发者可以通过编写JavaScript代码来实现自定义功能,如添加新的工具栏按钮、扩展编辑器的格式化选项等,以满足特定项目的需求。 7. **性能优化**: 在这个版本中,FCKeditor进行了...

Global site tag (gtag.js) - Google Analytics