UEditor(百度WEB前端研发部开发的开源富文本编辑)

2023-02-22 54阅读

温馨提示:这篇文章已超过517天没有更新,请注意相关的内容是否还可用!

UEditor

百度WEB前端研发部开发的开源富文本编辑

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

中文名UEditor
开发者百度WEB前端研发部
特点轻量、可定制、用户体验优秀
最新版本正式版

简介

ueditor编辑器是一款由百度官方所推出的富文本编辑器,ueditor破解版基于BSD协议,用户可以通过该软件进行文本、十六进制以及ASCII码等方面的编辑操作,这样就能够大多数网站开发者缓解工作压力。

主要特点

百度开源富文本编辑器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

更新记录

3版本

bug修复&优化改进

1、修复hasContents接口在非ie下只有空格时判断还为真的问题

2、修复在粘贴word内容时,会误命中cm,pt这样的文本内容变成px的问题

3、优化删除编辑器再创建编辑器时,编辑器的容器id发生变化的问题

4、修复提交jsonp请求时,callback参数的xss漏洞

5、新增jsp后台多种服务器配置下的路径定位

6、修复ZeroClipboard的flash地址参数名称错误

7、修复getActionUrl的bug

8、整理配置参数,把遗漏在代码中的配置项整理到ueditor.config.js里

9、修复图片拉伸工具和编辑拉伸长高器的样式冲突

10、修复文字的unicode编码会被错误再次解析问题

11、添加消息提示功能,冒泡提示信息

12、优化上传功能提示,当后端配置项没正常加载,禁用上传功能

13、修复单图上传按钮和jqueryValidate不兼容的问题

14、简化了与jqueryValidate的结合操作,具体看_examples/jqueryValidateDemo.html

15、修复在删除编辑器后,再次创建时丢失原有id的问题

16、修复查找替换在一些块节点中会导致替换错误

2版本

重构前后端交互功能

1、前端上传模块统一改用webuploader

2、整体重构了文件上传的配置方式,改为统一在后端配置,前后端自动打通

3、统一各上传模块的提交地址,各模块通过action参数区分类型

4、提供serverparam命令,可在提交时追加任意参数

5、统一了前端各上传模块的布局样式

6、支持了在线附件预览和插入

7、统一了后端返回数据格式

8、各在线预览列表模块支持分组加载

9、增加点击直接选择文件上传图片插件

10、优化了粘贴图片的功能,上传时有loading和出错的提示

11、添加jsonp的跨域请求支持

bug修复&优化改进

1、修复内容过多时,回到顶部,顶部内容被工具栏遮挡问题

2、修复htmlparser解析标签的bug

3、修复锚点是#开头时还添加http://的bug

4、修复全屏后,退出全屏高度没有缩回来的问题

5、文字选中后按delete删除,无法触发contentchange事件

6、修复选择图片时点击8个控制点不拖动,contentchange会误触发的问题

7、修复执行命令会触发多次contentchange事件

8、修复输入文字,设置高度300,没有滚动条

9、修复在不可编辑模式下,链接认可修改的问题

10、修复全局css对于ueditor有时展现会出现按钮独占一行的问题

11、修复在ie11下上传图片失败的问题

12、修复chrome34版本下报错问题

13、修复ie8下插入多张远程图片之后,对话框假死问题

14、修复uparse,在页面中多次调用某些模块无效果问题

15、修复容器宽度100%时,改变窗口大小,宽度不自适应的问题

16、将桥接ui和编辑器的业务代码放到了新建的adapter目录,方便维护

17、修复拖拽改变图片大小功能和bootstrap不兼容的问题

18、修复在表格水平边框上拖拽,不能改变大小的问题

19、修复在表格标题上可以向左向下合并单元格的问题

20、修复grunt打包出错的问题

21、优化ie11下的兼容问题,主要修复了表格下的诸多问题

22、优化插入图片,添加原文件名作为alt属性

新功能添加

1、添加了enableContextMenu配置开关,开关右键菜单,默认为true

2、添加disablePInList配置,指定产出的列表中是否嵌套P标签,默认是false

3、添加retainOnlyLabelPasted配置,指定粘贴时是否是只保留标签模式,默认是false

4、优化了添加toolbar上各类ui的方式,方便二次开发

5、优化有时产出数据会带有bookmark标签的脏数据问题

6、添加LocalStorage本地存储工具

7、优化自动排版功能,选项保存到localStorage或UserData

8、添加右键菜单的复制粘贴的支持,非ie不提供粘贴功能

优化修复

1、script/style标签内容,在ie下的编辑状态显示内容问题

2、修复预览窗口没有滚动条问题

3、修复在ie67下自动寻址的问题

4、修复ff下图片拖拽大小不触发contentchange问题

5、修复注释被删除的问题,包括在script中的

6、修复在源码模式下不能使用setContent的问题,

7、修复在给定宽度为100%时,ie11在拖动窗口大小时,编辑区域不随着变化的问题

8、修复在ie67下destroy方法调用报错

9、修复在插入代码模式下,ie9+以上的浏览器键盘操作(enter/tab等)错误或者失效的问题

10、修复不规则源码在ie下解析成文本的问题

11、修复p标签在ie下嵌套的问题

12、修复目录大纲更新事件导致失焦点的问题

13、针对word粘贴列表到编辑器中自动转换为list标签,由于有误命中情况,所以默认关闭该功能。提供

​autoTransWordToList配置项(默认为false),开发者可酌情配置。

14、添加禁止表格嵌套的开关,解决excel中粘贴到编辑器中会有冗余的嵌套表格问题,配置项

disabledTableInTable(默认是true)。

15、过滤掉excel的表格粘贴到ie中时,会有bitmap的冗余占位图片问题

6版本

新增功能

1、支持视频上传插入,多浏览器自适配播放器

优化修复

1、script/style标签内容,在ie下的编辑状态显示内容问题

2、修复预览窗口没有滚动条问题

3、修复在ie67下自动寻址的问题

4、修复ff下图片拖拽大小不触发contentchange问题

5、修复注释被删除的问题,包括在script中的

6、修复在源码模式下不能使用setContent的问题

7、修复在给定宽度为100%时,ie11在拖动窗口大小时,编辑区域不随着变化的问题

8、修复在ie67下destroy方法调用报错

9、修复在插入代码模式下,ie9+以上的浏览器键盘操作(enter/tab等)错误或者失效的问题

10、修复不规则源码在ie下解析成文本的问题

11、修复p标签在ie下嵌套的问题

12、修复目录大纲更新事件导致失焦点的问题

13、针对word粘贴列表到编辑器中自动转换为list标签,由于有误命中情况,所以默认关闭该功能。提供

autoTransWordToList配置项(默认为false),开发者可酌情配置。

14、添加禁止表格嵌套的开关,解决excel中粘贴到编辑器中会有冗余的嵌套表格问题,配置项

disabledTableInTable(默认是true)。

15、过滤掉excel的表格粘贴到ie中时,会有bitmap的冗余占位图片问题

5版本

新增功能

1、asp后台的支持

2、添加本地自动保存功能

3、增加数据可视化展示功能

4、编辑器实例上添加isFocus,blur方法

5、新增在chrome下针对图片的拖拽宽高功能

6、新增在高端浏览器下,qq截图粘贴上传,拖拽图片到编辑上传

7、添加表格插入列标题功能

8、添加设置表格可排序功能,支持表格在预览页排序

9、添加生成目录功能

优化修复

1、ie8以上版本使用w3cRange

2、使用grunt作为打包工具

3、修复了过滤规则对于script/style的内容的转码

4、自动寻址功能重构

5、修复下拉菜单高度问题

6、针对ie默认带有的autolink功能,添加开启禁用选项,创建时传入autolink:false就可禁用ie的autolink功能

7、支持插入动态地图

**API文档更新**

1、图片上传路径可配置,增加前后端路径验证

2、对uparse进行了拆分重构

3、随下载包提供各种功能说明文档

4、背景颜色功能重构,可以在预览页显示背景

5、重写了查找替换插件,解决ff下window.find方法失效的问题

1版本

新增功能

1、查找替换支持正则表达式

2、增加类似word中的快捷菜单,默认关闭

3、针对默认过滤回转换div为p标签,提供了配置开关allowDivTransToP,默认为true

4、工具栏支持指定位置折行,'|'表示分割符,'||'表示折行

优化修复

1、修复了ie67下初始化宽高给定百分比

2、修复了在ie下删除分割线后光标定位的问题

3、提供了手动加载语言文件,避免ie下有时会因语言文件加载失败导致编辑器加载失败,提示"notimport

languagefile"的错误

4、优化了编辑器初始化时获得contentWindow可能不存在的情况

5、优化了编辑器加载自定义样式的问题,默认initialStyle传入的css样式优先级最高,其次是指定的外部css文

6、表格操作功能升级,优化了对表格的拖拉及双击操作,并且支持IE6+浏览器

7、修复编辑器在禁用状态下仍然可以拖动表格边框的bug

8、修复了分割线不能删除的问题

9、修复了初始化内容过多时,编辑器不自动长高,要点击编辑器才会长高的问题

10、优化了添加字符边框的展示效果,避免出现重叠的问题

11、修复下拉菜单超出屏幕的bug

12、修复table属性初始化时table布局错误的bug

13、优化了选择工具栏上下拉菜单类型的操作命令时,选区会有闪动的问题

14、优化了关于swfupload的一个xss漏洞

15、优化了对于ie9,10的支持

0版本

新增功能

1、新增了编辑器路径的设置,可以不用手动设置路径,自动识别相关路径,解决路径设置繁琐的问题

2、重写了过滤粘贴机制,采用黑白名单,可以书写符合自己需求的过滤规则,可以完全定义标签的属性,甚至是style上的某个属性及其数值

3、数据同步改为失去焦点就执行,可以不再使用sync方法手动同步数据

4、改使用closure的压缩工具

5、表格支持排序和隔行显示

6、优化了undo/redo操作

7、优化了ui界面

8、添加了字体边框

优化修复

1、优化了拖拽机制,处理浮动图片拖拽不能跟指定的某行对齐

2、优化了backspace/del键的操作

3、重写了插入代码功能,插入代码编写支持tab和回车键

4、列表粘贴优化,模仿word的列表粘贴

5、修复jsp后台8080端口,截屏插件返回错误的问题

6、修复firefox下编辑状态切换的问题

7、修复查找替换报错

8、修复表格新增行后宽度丢失问题

9、修复表格底纹和表格排序多语言配置遗漏

10、解决右键,粘贴,对话框内容报错

11、修复设置单元格颜色问题

12、优化大字号下的显示问题

13、解决IE下表格粘贴失效问题

14、修复选中内容设置成代码,出现多余字符的问题

15、修复从word粘贴内容到编辑器,过滤失效的问题

16、修复光标闭合,多次点击字符边框按钮,会出现多余的字符“font”的问题

17、修复字符边框效果错误的问题

18、以及其他的一些问题.

5版本

新增功能

1、table整体重构

2、table支持插入表头和标题

3、table支持拷贝

4、table支持任意调整宽高

5、table支持任意前插后插行列

6、table键盘操作仿word用户体验

7、添加table平均分布行、列

8、添加table单元格对齐方式

9、添加table对齐方式

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

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

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

13、添加计算字数的getContentLength接口

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

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

16、全屏快捷键ALT+Z

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

优化修复

1、优化了插入代码功能

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

3、截图功能支持非ie浏览器

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

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

4版本

新增功能

1、官网新增API文档

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

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

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

5、新增音乐插件

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

7、添加了UE.getEditor工厂方法

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

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

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

功能优化

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

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

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

4、codemirror版本升级到最新版

5、对opera/safari的支持进行了进一步的优化

6、优化了部分demo页的代码

7、修改原来的minFrameHeight为拖动时的最小高度

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、修复了表格中实例化编辑器时工具栏浮动错位问题

2版

功能优化

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

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

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

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

5、自定制下载优化

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

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

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

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样式,导致编辑器内容不能折行的问题

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的事例代码

首页文档进行了改进

参考资料

1.UEditor·起点软件网

目录[+]