UEditor

更新时间:2024-02-18 23:58

UEditor是由百度web前端研发部开发的所见即所得的开源富文本编辑器,具有轻量、可定制、用户体验优秀等特点。基于MIT开源协议,所有源代码在协议允许范围内可自由修改和使用。百度UEditor的推出,可以帮助不少网站开发者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间,有效降低了企业的开发成本

系统特点

UEditor在设计上采用了经典的分层架构设计理念,尽量做到功能层次之间的轻度耦合。具体来讲,整个系统分为了核心层、命令插件层和UI层这样三个低耦合的层次。

1、核心层提供了编辑器底层的一些方法和概念,如DOM树操作、Selection、Range等。

2、在核心层之上覆盖的是命令插件层。之所以叫命令插件层,是因为UEditor中所有的功能型实现都是通过这一层中的命令和插件来完成的,并且各个命令和插件之间基本互不耦合——使用者需要使用哪个功能就导入哪个功能对应的命令或者插件文件,完全不用考虑另外那些杂七杂八的JS文件(极少数插件除外,关于这些插件下文会整理出一个依赖列表来供同学们参考)。

理论上来讲,所有的命令都是可以用插件来代替的,但是依然将两者分开的主要原因是命令都是一些静态的方法,无需随editor实例初始化,从而优化了编辑器的性能。而插件随编辑器的初始化而初始化,性能上会有少许的影响,但相比命令而言,插件能够完成更加复杂的功能。其中最主要的一个特点是在插件内部既可以为编辑器注册命令,也可以为编辑器绑定监听事件。这个特点使得为编辑器添加任何功能都可以在插件中独立完成。

3、在命令插件层之上则是UI层。UEditor的UI设计与核心层和命令插件层几乎完全解耦,简单的几个配置就可以为编辑器在界面上添加额外的UI元素和功能,具体的配置下面将会深入阐述。

优点

1、体积小巧,性能优良,使用简单

2、分层架构,方便定制与扩展

3、满足不同层次用户需求,更加适合团队开发

4、丰富完善的中文文档

5、多个浏览器支持:Mozilla, MSIE, FireFox, Maxthon,Safari 和Chrome

6、更好的使用体验

7、拥有专业QA团队持续支持,已应用在百度各大产品线上使用

应用领域

百度产品线

百度百科百度空间百度经验百度旅游百度知道、百度贴吧百度新知

其他公司产品

麦库记事、网易lofter

更新记录

1.3.6版本

新增功能

优化修复

1.3.5版本

新增功能

优化修复

**API文档更新**

1.2.6.1版本

新增功能

优化修复

1.2.6.0版本

新增功能

优化修复

1.2.5版本

新增功能

table整体重构

table支持插入表头和标题

table支持拷贝

table支持任意调整宽高

table支持任意前插后插行列

table键盘操作仿word用户体验

添加table平均分布行、列

添加table单元格对齐方式

添加table对齐方式

添加选中部分表格,点击backspace或delete删除功能

重写表格属性、单元格属性dialog

粘贴支持纯文本,源码,纯标签3个模式选择

添加计算字数的getContentLength接口

图片上传支持参数动态绑定

重写了list功能,支持一,一,(一),1,(1),——等新的列表标签

全屏快捷键 ALT+Z

添加了uparse.js展示页加载器

优化修复

优化了插入代码功能

ie下默认禁用源码模式下的代码高亮

截图功能支持非ie浏览器

修正了非ie下中文输入时回退不准确的问题

改进了键盘输入时做回退的操作

1.2.4版本

新增功能

官网新增API文档

CSS按照UI结构进行了模块化拆分

新增皮肤切换功能,并提供一套新皮肤(可通过配置项theme来设置)

新增编辑器容器拖动缩放功能,配置项为:scaleEnabled、minFrameWidth、minFrameHeight

新增音乐插件

增加了源码模式下,全屏按钮可以使用

添加了UE.getEditor工厂方法

添加了针对jquery配合使用的demo

添加了针对jqueryValidation配合使用的demo

添加了初始化编辑器宽高配置,配置为项:initialFrameWidth、initialFrameHeight

功能优化

修复涂鸦路径在配置时,添加参数时请求报错

修复涂鸦opera下缩放不能使用

修复编辑器全屏功能失效问题

codemirror版本升级到最新版

对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浏览器

4、修复了表格中实例化编辑器时工具栏浮动错位问题

1.2.2版

功能优化

1、编辑器不可编辑时,可以配置哪些功能可以使用,例如全屏

2、table的边框为0时,采用虚线显示

3、修复firefox下插入大量代码时,代码格式显示不正确的问题

4、附件上传成功后显示初始文件名

5、自定制下载优化

6、当图片上传超时时,增加提示信息

7、修复自动排版对H1不生效的问题

8、修复插入超链接,超链接地址包含script标签,预览时会执行script语句的问题

1.2.1版

新增功能

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、修改了行间距的展示方式

2、段间距变为段前距和段后距

3、改进了autolink的效果

4、分页符可以删除

5、增强了表格的编辑功能

6、优化了状态反射的性能,改为编辑器获得焦点才会触发,失去焦点不在触发状态查询

7、修正了focus()方法,执行编辑器实例的focus方法可以选回失去焦点之前的选区

8、重写了浮动工具栏,支持混乱模式下的工具栏滚动

9、重写了autoheight插件,去掉setInterval的方式,并且长高时不在跳动

10、文件上传提供flash源码

11、提供了.net的事例代码

首页文档进行了改进

正式版

新增功能

优化修复

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}