最近项目需要对已有的FCKeditor添加新的功能,以前的做法只是在外壳处再次封装,这次看样子要进行全面改造了。
需要修改的文件:
- 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加上自定义的按钮了。
|