UEditor 介绍
UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。
1 入门部署和体验
1.1 下载编辑器
到官网下载 UEditor 最新版:
1.2 创建demo文件
解压下载的包,在解压后的目录创建 demo.html 文件,填入下面的html代码
ueditor demo
1.3 在浏览器打开demo.html
如果看到了下面这样的编辑器,恭喜你,初次部署成功!
1.4 传入自定义的参数
编辑器有很多可自定义的参数项,在实例化的时候可以传入给编辑器:
var ue = UE.getEditor('container', { autoHeight: false });
配置项也可以通过 ueditor.config.js 文件修改,具体的配置方法请看
1.5 设置和读取编辑器的内容
通 getContent 和 setContent 方法可以设置和读取编辑器的内容
var ue = UE.getContent(); //对编辑器的操作最好在编辑器ready之后再做 ue.ready(function() { //设置编辑器的内容 ue.setContent('hello'); //获取html内容,返回:hello
var html = ue.getContent(); //获取纯文本内容,返回: hello var txt = ue.getContentTxt(); });
UEditor 的更多API请看
2 详细文档
UEditor 官网:
UEditor API 文档:
UEditor Github 地址:
3 联系我们
Email:
Issue:
1、设置监听事件使textarea节点自动加载显示内容;
$(function(){ var ue = UE.getEditor('editor'); //对编辑器的操作最好在编辑器ready之后再做 ue.ready(function() { //获取html内容,返回:hello
var html = ue.getContent(); ue.getContent(function(){ $("#ueditor_textarea_editorValue").html(html); }); }); ue.addListener('contentChange',function(){ $("#ueditor_textarea_editorValue").html(this.getContent()); }) }); 经设置还是不能掉P标签 临时解决方法,但会把全部html标签去掉,不可取。
其实是因为使用了模板引擎的标签{ {}}导致的,它会把html标签过虑成实体字符,所以ueditor自动加P标签;
只要把{ {}}换成{!! !!},问题就解决了,它不会过虑html标签。
2、网上的做
百度的Ueditor编辑器出于安全xìng考虑,用户在html模式下粘贴进去的html文档会自动被去除样式和。虽然安全的,但是非常不方便。 做一下修改把这个功能去掉。 一、打开ueditor.all.js 二、大概9300行找到 ///plugin 编辑器默认的过滤转换机制,把下面的 'allowDivTransToP':true 值改成false。为true的时候会自动把div转成p。 三、大概9429行,有个case 'li',这个是把li里面的样式去掉,把这个case注释掉。 四、大概14058行,下面的第一个utils.each功能注释掉,这个是自动给li里面的内容增加一个p。 五、大概14220行, node.className = utils.trim(node.className.replace(/list-paddingleft-\w+/,'')) + ' list-paddingleft-' + type; 注释掉,这个是自动给ul增加一个内置的样式。 下面的14222行 li.style.cssText && (li.style.cssText = ''); 注释掉,这个是自动去除粘贴进去的代码的li的style样式 至此,我们粘贴进去的html格式的ul和li就不会被了。