百度的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. django--模型元选项(八)

    1.db_table Options.db_table该模型所用的数据表的名称:db_table = 'test'为节省你的时间,Django 会根据模型类的名称和包含它的应用的名称自动指定数据库表名 ...

  2. Java多线程Thread

    转自:http://www.cnblogs.com/lwbqqyumidi/p/3804883.html Java总结篇系列:Java多线程(一)   多线程作为Java中很重要的一个知识点,在此还是 ...

  3. stimulsoft Report报表使用笔记

    1.使用设计器设计mrt报表模板,或者从其他文件复制修改 2.删除business object 数据源 3.使用代码添加数据源 ParcelChangeItem change = new Parce ...

  4. jQuery on 绑定的事件触发多次

    jquery用on绑定事件,在代码执行过程中,可能会遇到多次执行的情况. 解决方案是在on的事件前面加上一个off,再on. $('#btnBind').off('click').on('click' ...

  5. js监听浏览器,关闭,刷新

    //浏览器关闭或刷新事件 function bindCloseBrowser() { var a = "注意!!\n您即将离开页面!离开后可能会导致数据丢失\n\n您确定要离开吗?" ...

  6. Msql:Incorrect double value: ''for column 'id' at row 1解决

    Incorrect double value: ''for column 'id' at row 1解决   最近在写个查询 插入语句的时候 我是这么写的 1 insert into test val ...

  7. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法 (2011-05-05 16:08:05) 转载▼ ...

  8. 由python为入口回顾C++的lambda

    lambda是一种匿名函数,python  lambda可以使简单的函数简洁的表达,,C++的lambda使类似嵌套函数的功能得以实现 python的lambda lambda [arg1[,arg2 ...

  9. 激活PHPStorm 2016.3

    通过互联网激活PHPStorm 2016.3: http://jetbrains.tencent.click http://172.245.22.235:1017 http://idea.imsxm. ...

  10. Sublime文本排序&查找重复行&删除重复行

    排序 按F9或者选择菜单:Edit > Sort Lines,对每行文本进行排序 查找重复行 排序好后,按Ctrl+F,调出查找面板 查找字符串: ^(.+)$[\r\n](^\1$[\r\n] ...