本答案是参考百度知道回答写的,原答案比较精简,只是做展开,尽量描述的详细些,便于参考。
原文地址:http://zhidao.baidu.com/link?url=05kzbhNQOYhtlwJIfMN1U8jQ_yg97N43LCc-RWjJv3PP9zibLdFtK7ogUbxFODM9_XRdEoKJrDZ_u5cgbDmc3_MfR0LnugJj6zGkH9Wm22i
一、适用版本:ueditor 1.3.6+(亲测1.4.3版有效)
二、打开/ueditor/ueditor.all.js,搜索“fontfamily”,定位到如下代码
将fontsize的代码替换为如下代码:
/*'fontsize': [10, 11, 12, 14, 16, 18, 20, 24, 36]*/ 'fontsize': [ { name: '\u516d\u53f7', val: 10}, { name: '\u5c0f\u4e94', val: 12}, { name: '\u4e94\u53f7', val: 14}, { name: '\u5c0f\u56db', val: 16}, { name: '\u56db\u53f7', val: 18}, { name: '\u5c0f\u4e09', val: 20}, { name: '\u4e09\u53f7', val: 21}, { name: '\u5c0f\u4e8c', val: 24}, { name: '\u4e8c\u53f7', val: 29}, { name: '\u5c0f\u4e00', val: 32}, { name: '\u4e00\u53f7', val: 34}, { name: '\u5c0f\u521d', val: 48}, { name: '\u521d\u53f7', val: 56} ]
P.S:由于WEB字号低于10没有什么使用价值,仅添加10px以上的字体,名称可以自己定义,只要把中文转为UNICODE就行了(貌似不转换直接用中文字符串也可以)。
三、还是在/ueditor/ueditor.all.js,搜索“editorui.fontsize”,定位到如下代码
将百度知道里84许的文件下载下来和原版对比可以看到差异
更改代码如下:
原版:
for (var i = 0; i < list.length; i++) { var size = list[i] + 'px'; items.push({ label:size, value:size,
更改后:
for (var i = 0; i < list.length; i++) { var sizename = list[i].name; var size = list[i].val + 'px'; items.push({ label:sizename, value:size,
可以看到思路就在于把原来以像素字号表示的简单的fontsize属性细化,模仿了font-family的键值对书写方式,添加name和val两个属性,再在下方的ui代码拼接的地方将细化后的sizename和name值分别输出。
这样在实际生成的编辑器实例中即可看到生效
总结:非常感谢84许的思路和代码,通过模仿原有的属性键值对形式,以及观察前端展现方式,二次开发修改字号显示,是一个很好的customize ueditor的方法,鉴于ueditor已经万年不更新了,很多新的功能需要我们自行去研究修改,本文没有创新,只是细化扩展了84许的更改方式,做个知识的搬运工。