UEditor是由
百度web前端研发部开发的所见即所得的开源
富文本编辑器,具有轻量、可定制、
用户体验优秀等特点。基于MIT开源协议,所有
源代码在协议允许范围内可自由修改和使用。百度UEditor的推出,可以帮助不少网站开发者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间,有效降低了企业的
开发成本。
系统特点
UEditor在设计上采用了经典的分层架构
设计理念,尽量做到功能层次之间的轻度
耦合。具体来讲,整个系统分为了
核心层、命令插件层和UI层这样三个低耦合的层次。
1、核心层提供了
编辑器底层的一些方法和概念,如DOM树操作、Selection、Range等。
2、在核心层之上覆盖的是命令插件层。之所以叫命令插件层,是因为UEditor中所有的功能型实现都是通过这一层中的命令和插件来完成的,并且各个命令和插件之间基本互不耦合——使用者需要使用哪个功能就导入哪个功能对应的命令或者插件文件,完全不用考虑另外那些杂七杂八的
JS文件(极少数插件除外,关于这些插件下文会整理出一个依赖列表来供同学们参考)。
理论上来讲,所有的命令都是可以用插件来代替的,但是依然将两者分开的主要原因是命令都是一些静态的方法,无需随editor实例初始化,从而优化了
编辑器的性能。而插件随
编辑器的初始化而初始化,性能上会有少许的影响,但相比命令而言,插件能够完成更加复杂的功能。其中最主要的一个特点是在插件内部既可以为
编辑器注册命令,也可以为编辑器绑定监听事件。这个特点使得为
编辑器添加任何功能都可以在插件中独立完成。
3、在命令插件层之上则是UI层。UEditor的
UI设计与核心层和命令插件层几乎完全
解耦,简单的几个配置就可以为
编辑器在界面上添加额外的
UI元素和功能,具体的配置下面将会深入阐述。
优点
1、体积小巧,性能优良,使用简单
2、分层架构,方便定制与扩展
4、丰富完善的中文文档
5、多个浏览器支持:Mozilla, MSIE,
FireFox,
Maxthon,Safari 和
Chrome6、更好的使用体验
7、拥有专业QA团队持续支持,已应用在
百度各大产品线上使用
应用领域
百度产品线
其他公司产品
更新记录
1.3.6版本
新增功能
优化修复
1.3.5版本
新增功能
优化修复
1.2.6.1版本
新增功能
优化修复
1.2.6.0版本
新增功能
优化修复
1.2.5版本
新增功能
table支持拷贝
table支持任意调整宽高
table支持任意前插后插行列
添加table平均分布行、列
添加table对齐方式
添加选中部分表格,点击
backspace或delete删除功能
重写表格属性、单元格属性dialog
粘贴支持纯文本,源码,纯标签3个模式选择
添加计算字数的getContentLength接口
重写了list功能,支持一,一,(一),1,(1),——等新的列表标签
添加了uparse.js展示页加载器
优化修复
优化了插入代码功能
截图功能支持非ie浏览器
改进了键盘输入时做回退的操作
1.2.4版本
新增功能
官网新增API文档
新增皮肤切换功能,并提供一套新皮肤(可通过
配置项theme来设置)
新增编辑器容器拖动缩放功能,配置项为:scaleEnabled、minFrameWidth、minFrameHeight
新增音乐插件
增加了源码模式下,全屏按钮可以使用
添加了UE.getEditor工厂方法
添加了针对jquery配合使用的demo
添加了针对jqueryValidation配合使用的demo
添加了初始化编辑器宽高配置,配置为项:initialFrameWidth、initialFrameHeight
功能优化
修复涂鸦路径在配置时,添加参数时请求报错
修复涂鸦opera下缩放不能使用
修复编辑器全屏功能失效问题
对opera/safari的支持进行了进一步的优化
优化了部分demo页的代码
修改原来的minFrameHeight为拖动时的最小高度
1.2.3版
新增功能
1、新增大小写功能
2、新增涂鸦功能
3、新增国际化支持
4、新增getAllHtml方法,可以将整个页面的内容打出来
5、新增插入模板的功能
6、新增背景功能
7、新增UE.instants全局对象,下边挂接了所有实例化的组件
8、Editor下新增ready方法,当编辑器ready后执行传入的fn,如果编辑器已经ready好了,就马上执行fn
9、新增topOffset配置参数,用于设置AutoFloat时工具栏距离顶部的高度
10、新增sourceEditorFirst配置参数,用于控制编辑器初始化时是否显示成源码模式,默认为否
11、新增在表格内实例化编辑器的demo
12、新增getDialog(dialogName)接口,可以获取dialog对象
功能优化
1、chrome下会出现alt+tab切换时,导致选区位置不对
2、focus方法添加参数可以指向到内容末尾
3、完全支持opera浏览器
1.2.2版
功能优化
1、编辑器不可编辑时,可以配置哪些功能可以使用,例如全屏
3、修复firefox下插入大量代码时,代码格式显示不正确的问题
4、附件上传成功后显示初始文件名
5、自定制下载优化
6、当图片上传超时时,增加提示信息
7、修复自动排版对H1不生效的问题
8、修复插入
超链接,超链接地址包含script标签,预览时会执行script语句的问题
1.2.1版
新增功能
2.插入表情时,按住CTRL键可连续插入多个表情
3.按住CTRL+Enter提交表单
4. 增加readonly属性在editor_config.js,
编辑器实例上增加setEnabled,setDisabled方法,设置编辑区域是否可以编辑
5.Editor上添加了getPlainTxt方法,得到编辑器的纯文本内容,但会保留
段落格式6.为insertHtml命令添加了过滤机制
7.当选区在一个超链接中,就可以在弹出层中直接修改这个超链接中的文本
8.超链接窗口可以修改超链接显示的文字
9.为每个
plugin的在代码中添加了
配置项的容错代码,若配置项不存在,不会报错
10.提供后台的jsp版本
11.添加是否删除空的inlineElement节点(包括嵌套的情况)的配置项:autoClearEmptyNode
12.在
配置项中增加isShow设置初始化时是否显示
编辑器,在编辑器实例上增加setShow,setHide方法设置编辑器的显示/隐藏
功能优化
1.修正了initialContent赋值失效的问题,赋值顺序以标签内容为先,如果没有再看initialContent内容
2.getContent将“ ”转成空格,连续2个空格则以“ ”表示
3.与后台交互的路径整体进行了调整
4.重写了ui和和
编辑器的交互层,dialog改为显示时创建,整体代码减少22k
5.修正了代码高亮跟jquery冲突的问题
6.改进了多个
编辑器实例,使用一个name做为form提交,后台都可以取到
7.修正了chrome下粘贴文本带有
white-space样式, 导致
编辑器内容不能折行的问题
1.2.0版
UEditor1.2.0版本是一个里程碑式的版本。除了功能以及性能的跨越式改进和提升(详见changelog)之外,也对官网的文档和自定义下载等内容作了很大的更新,支持用户在线定制并可以
实时预览和使用生成的定制版本,以帮助用户更快更好的使用UEditor。
新增功能
1、远程图片抓取2、服务器图片在线管理3、增加了
baidu图片
搜索功能,搜索图片然后直接插入到
编辑器中4、word的本地图片取得寛高5、
插入视频,可预览,并且界面加入了视屏搜索功能,并且可以插入视屏预览图到编辑器6、附件上传7、自动排版8、单元格属性编辑9、ie下的截屏功能10、源码模式下css进行了简写11、添加了上来就可以全屏的
配置项12、添加了contentchagne事件13、优化了首页自定制下载。
功能优化
1、修改了行间距的展示方式
3、改进了autolink的效果
6、优化了状态反射的性能,改为
编辑器获得焦点才会触发,失去焦点不在触发状态查询
7、修正了focus()方法,执行
编辑器实例的focus方法可以选回失去焦点之前的选区
9、重写了autoheight插件,去掉
setInterval的方式,并且长高时不在跳动
10、文件上传提供flash源码
11、提供了.net的事例代码
首页文档进行了改进
正式版
新增功能
优化修复