百度的Ueditor编辑器出于安全考虑;

用户在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就不会被转义了。

上边是引用,下边是我多加的来满在哪里也都不加P或P里加BR等等等

15112行左右:(下边代码注释掉)

utils.each(root.getNodesByTagName('li'),function(li){
var tmpP = UE.uNode.createElement('p');
for(var i= 0,ci;ci=li.children[i];){
if(ci.type == 'text' || dtd.p[ci.tagName]){
tmpP.appendChild(ci);
}else{
if(tmpP.firstChild()){
li.insertBefore(tmpP,ci);
tmpP = UE.uNode.createElement('p');
i = i + 2;
}else{
i++;
} }
}
if(tmpP.firstChild() && !tmpP.parentNode || !li.firstChild()){
li.appendChild(tmpP);
}
//trace:3357
//p不能为空
if (!tmpP.firstChild()) {
tmpP.innerHTML(browser.ie ? '&nbsp;' : '<br/>')
}
//去掉末尾的空白
var p = li.firstChild();
var lastChild = p.lastChild();
if(lastChild && lastChild.type == 'text' && /^\s*$/.test(lastChild.data)){
p.removeChild(lastChild)
}
});

10079行左右:(注释掉)[dl dd dt 元素就不会自动转成 ul li 元素了]

node.tagName = 'ul';

node.tagName = 'li';

转载自:http://os.zhongziyun.com/code/40030/

ueditor不自动加P解决方法的更多相关文章

  1. ueditor的工具栏显示乱码解决方法 小问题.. 是你的页面编码与语言包js编码不符所导致的

    ueditor的工具栏显示乱码解决方法 小问题..  是你的页面编码与语言包js编码不符所导致的解决方法:用记事本将ueditor\..\lang\zh-cn\zh-cn.js打开,然后保存为ANSI ...

  2. secureCRT自动断开的解决方法

    转: secureCRT自动断开的解决方法 secureCRT自动断开的解决方法 在secureCRT上登录时,一段时间不用的话会自动断开,必须重新连接,有点麻烦. 有时候服务器端的 /etc/pro ...

  3. windows 10 删除库后自动恢复的解决方法

    目录 什么是windows 库? 手动删除不行吗? 如何正确的"删除"? title: windows 10 删除库后自动恢复的解决方法 date: 2019-06-09 15:4 ...

  4. /etc/resolv.conf文件自动恢复的解决方法

    /etc/resolv.conf文件自动恢复的解决方法: service NetworkManager stop #后台进程关闭 chkconfig NetworkManager off #配置关闭, ...

  5. SSH连接自动断开的解决方法(deb/rpm)

    ######### 修改后的: ## # tail -f -n 20 sshd_config#MaxStartups 10:30:60#Banner /etc/issue.net # Allow cl ...

  6. js关于对象键值为数字型时输出的对象自动排序问题的解决方法

    一.对象键值为数字型时输出的对象自动排序问题如: var objs = {    "1603":{id:"1603"},    "1702" ...

  7. Android adt v22.6.2 自动创建 appcompat_v7 解决方法,最低版本2.2也不会出现

    Android 开发工具升级到22.6.2在创建工程时只要选择的最低版本低于4.0,就会自动生成一个项目appcompat_v7,没创建一个新的项目都会自动创建,很是烦恼... 之前在网上也找过方法, ...

  8. QQ空间自动发广告解决方法

    最近空间好多人QQ都中了毒.每天我都有几十个好友刷空间话费.流量广告! QQ空间自动发广告的原因: 最近使用了刷赞或者其他QQ外挂软件(有些开发者或破解者会在这样的软件上留后门,请自己判断). 或者最 ...

  9. Dedecms本地上传缩略图无法自动添加水印的解决方法

    客户遇到一个问题,DEDECMS(V5.7)后台添加文档时,本地上传缩略图无法自动添加水印(系统设置里的图片水印设置没有问题),找了半天,终于找到了解决方法,留个记号: 打开dede/archives ...

随机推荐

  1. Java 7 新特性

    try( InputStream is = new FileInputStream(path); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); ) ...

  2. java上传xls文件

    using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System. ...

  3. shell 脚本杀死后台由php脚本控制运行的所有php脚本和java程序

    效果: 运行命令: ./killallphpjavarm.sh java 源码: #!/bin/sh#根据进程名杀死进程#FileName: killjavaphprm.sh pgrep php ki ...

  4. winform版弹框操作

    公共弹框帮助类操作手册 1.说明 封装了对于winform操作的一些提示框,包括数据加载耗时的时候,提示数据正在加载,请稍后的提示窗体,动态提示给用户一些有用的信息.例如网吧里面续费提醒等. 2.操作 ...

  5. 第三周作业--Word Counter

    需求分析: 1.写出一个程序,模仿wc.exe,通过输入文件名,实现文件内容读取: 2.统计出文件内容的总字符数.总单词数.行数.每行字符数.每行单词数. 代码分析: 一.打开文件. FILE *fp ...

  6. [译]Node.js - Event Loop

    介绍 在读这篇博客之前,我强列建议先阅读我的前两篇文章: Getting Started With Node.js Node.js - Modules 在这篇文章中,我们将学习 Node.js 中的事 ...

  7. lua创建文件和文件夹

    创建文件夹: os.execute('mkdir xx') 创建文件: f = assert(io.open('a.tmp','w')) f:write('test') f:close()

  8. 利用docker compose启动gitlab及runner

    添加docker compose配置文件 新建文件docker-compose.yml,输入如下内容: gitlab: image: 'gitlab/gitlab-ce:latest' contain ...

  9. fiddler抓取Android 真机app数据包

    fiddler功能强大 不仅能抓pc上的请求还能抓取手机上的请求.下面以fiddler4 +android手机为例介绍一下 手机抓包. 官网下载fiddler后下一步下一步安装成功. 首先是fiddl ...

  10. 设置mysql utf8

    1.修改mysql 配置文件my.cnf 标签[mysqld]下添加即可 character-set-server = utf8