UEditor使用有感(红色),保存内容时,会自动添加p标签
UEditor 介绍
UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。
1 入门部署和体验
1.1 下载编辑器
到官网下载 UEditor 最新版:[官网地址]
1.2 创建demo文件
解压下载的包,在解压后的目录创建 demo.html 文件,填入下面的html代码
<!DOCTYPE HTML>
<html lang="en-US"> <head>
<meta charset="UTF-8">
<title>ueditor demo</title>
</head> <body>
<!-- 加载编辑器的容器 -->
<script id="container" name="content" type="text/plain">
这里写你的初始化内容
</script>
<!-- 配置文件 -->
<script type="text/javascript" src="ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript" src="ueditor.all.js"></script>
<!-- 实例化编辑器 -->
<script type="text/javascript">
var ue = UE.getEditor('container');
</script>
</body> </html>
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内容,返回: <p>hello</p>
var html = ue.getContent();
//获取纯文本内容,返回: hello
var txt = ue.getContentTxt();
});
UEditor 的更多API请看API 文档
2 详细文档
UEditor 官网:http://ueditor.baidu.com
UEditor API 文档:http://ueditor.baidu.com/doc
UEditor Github 地址:http://github.com/fex-team/ueditor
3 联系我们
Email:ueditor@baidu.com
Issue:github issue
1、设置监听事件使textarea节点自动加载显示内容;
$(function(){
var ue = UE.getEditor('editor');
//对编辑器的操作最好在编辑器ready之后再做
ue.ready(function() {
//获取html内容,返回: <p>hello</p>
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就不会被转义了。
UEditor使用有感(红色),保存内容时,会自动添加p标签的更多相关文章
- EditText中输入手机号码时,自动添加空格
输入手机号码时,自动添加空格,更容易辨别 public class PhoneWatcher implements TextWatcher { private EditText _text; publ ...
- 取消input聚焦时的边框,去除ios点击时,自动添加的底色效果
/*去除ios点击时,自动添加的底色效果*/ -webkit-tap-highlight-color: rgba(, , , ); /*去除焦点框*/ outline:none;
- Vscode 保存文件就会自动添加注释
Vscode 保存文件就会自动添加注释 原因是:安装了插件造成的.. 文章来源:刘俊涛的博客 欢迎关注公众号.留言.评论,一起学习. _____________________________ ...
- Pycharm在创建py文件时,如何自动添加默认文件头注释?
PyCharm是一款很好用的编写Python工程的IDE,用PyCharm创建一个Python文件或者向工程添加一个.py文件时,为了更好的使所编写的代码在各操作环境更好的运行,我们往往需要在.py文 ...
- 如何阻止点击scrollviewer里面的单位内容时,自动滚动
<Style TargetType="{x:Type ListBoxItem}"> <Setter Property="FocusVisualStyle ...
- SpringMVC: web.xml中声明DispatcherServlet时一定要添加load-on-startup标签
游历SpringMVC源码后发现,在web.xml中注册的ContextLoaderListener监听器只是初始化了一个根上下文,仅仅完成了组件扫描和与容器初始化相关的一些工作,并没有探测到具体每个 ...
- vs2017 新建Class 文件时,自动添加作者版权声明注释
1.用文本打开,在其头部加上 “C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTempl ...
- 百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决
当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合A ...
- pycharm在创建py文件时,自动添加文件头注释
File -> settings -> Editor-> File and Code Templates -> Python Script 添加内容: #!/usr/bin/e ...
随机推荐
- docker之DockerSwarm的了解
这次一起了解下docker Swarm,什么是dockerSwarm. 什么是docker Swarm 产品背景 使用docker的流程,ssh到一台服务器,运行docker命令来运行本机的docke ...
- c# 使用事务
EcAttendanceMatterBLL.OpenTransaction(); DbTransaction Tran = EcAttendanceMatterBLL.Transaction; _wf ...
- 处理跨线程操作问题(使用Action和delegate或lambda表达式)
方法A: Action f = () => { txtProcess.Text = "开始更新程序.. ...
- mysql数据库(三):查询的其他用法
一. 查询—IN的用法 语法:select ... from 表名 where 字段 a in (值b, 值c, 值d...) 等价于 select ... from 表名 where 字段a=值b ...
- Codeforces Round #299 (Div. 2)D. Tavas and Malekas
KMP,先预处理按每个节点标记,扫一遍更新每个匹配位置,最后kmp判断是否有重合而且不相同的地方 注意处理细节,很容易runtime error #include<map> #includ ...
- 51nod 1640 MST+二分
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1640 1640 天气晴朗的魔法 题目来源: 原创 基准时间限制:1 秒 ...
- Log4j 发送 EMail 的配置
项目上线后,运行时往往也还会有异常发生,在异常抛出时,希望即时的得到反馈.所以需要配置LOG4J的发送EMAIL功能. 项目中原来使用的的Log4j版本为1.2.9 ,但此版本并不支持邮件服务的认证功 ...
- python迭代器与生成器(二)
一.什么是迭代? 迭代通俗的讲就是一个遍历重复的过程. 维基百科中 迭代(Iteration) 的一个通用概念是:重复某个过程的行为,这个过程中的每次重复称为一次迭代.具体对应到Python编程中 ...
- 通过ISBN获取豆瓣详细书籍资料
手里有四十几万的图书馆书籍的isbn编号,通过isbn去请求豆瓣书籍的详细资料. # -*- coding: utf-8 -*- # @Time : 18-10-2 下午10:27 # @Author ...
- js最基础的作用域问题
1.什么是作用域? 每个变量和函数,都有其作用的范围,超出这个范围,就不能使用了,这个范围就叫做“作用域”,我们举个例子,一个文件中的变,在另一个文件中直接访问,是访问不到的,两个文件是两个“域”,两 ...