日期:2014-05-17  浏览次数:20415 次

[求助] CKeditor 自定义菜单按钮显示的问题 ####
在CKeditor上面想搞一个自已的按钮功能,指定的图标不能显示,显示是空白的,icon后面的路径是没有问题的,用alert显示过,正常,用浏览器也可能打开。请问高手是怎么回事,应该如何修必?请高手帮助,都有分送。。


部分代码如下:
a.ui.addButton&&a.ui.addButton("congxi",{label:"xxxxx2",command:"congxi",icon:this.path+'images/xi01.gif'});

还有一个小问题,如果用系统的图标,应该是在哪里指定使用了图标,下面代码里的toobar:"insert,50",是不指定了使用系统第50个图标呢?我改过这个数字,显示的图标没有改变。

a.ui.addButton&&a.ui.addButton("Smiley",{label:a.lang.smiley.toolbar,command:"smiley",toolbar:"insert,50"});


请有相关经验的把如何改代码的代码帖出来,谢谢了。CKeditor使用的版本是4.3.1
------解决方案--------------------
plugins文件夹下面一堆。
随便参照一个 就能写出来。
------解决方案--------------------
刚没细看,以为你要添加自定义功能。
如果只是想显示图片 你可以通过样式来解决。

如果想通过js来修改。你在ckeditor.js 搜索

n.push('<span class="cke_button' + (this.icon && this.icon.indexOf('.png') == -1 ? ' cke_noalphafix' : '') + '">', '<a id="', p, '" class="', q, '"', o.gecko && o.version >= 10900 && !o.hc ? '' : '" href="javascript:void(\'' + (this.title 
------解决方案--------------------
 '').replace("'", '') + "')\"", ' title="', this.title, '" tabindex="-1" hidefocus="true" role="button" aria-labelledby="' + p + '_label"' + (this.hasArrow ? ' aria-haspopup="true"' : ''));

这段代码,你可以看到这里有个icon的判断。你可以添加一个自定义的属性 来显示自己的图片。
比如a.ui.addButton&&a.ui.addButton("Smiley",{label:a.lang.smiley.toolbar,command:"smiley",toolbar:"insert,50","iconCustom":true});

通过判断iconCustom 来设置自己的图片
------解决方案--------------------
ckeditor 源码里面 显示图片的部分是写死的,就是上面我写出来的js代码。
你只能通过修改ckeditor.js 来达到自己想要的效果。
------解决方案--------------------
拼接的路径正确不一定能显示图片,建议先换成固定的路径试一下看看能不能显示出来
------解决方案--------------------
用样式修改的图片的方法
a.ui.addButton&&a.ui.addButton("Smiley",{label:a.lang.smiley.toolbar,command:"smiley",toolbar:"insert,50",icon:"CustomSmiley"});

这样ckedtor最后会生成一个cke_button_CustomSmiley的标签。
你在样式文件 定义一个cke_button_CustomSmiley样式 就可以了。