更新时间: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对齐方式
添加选中部分表格,点击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方法可以选回失去焦点之前的选区
9、重写了autoheight插件,去掉setInterval的方式,并且长高时不在跳动
10、文件上传提供flash源码
11、提供了.net的事例代码
首页文档进行了改进