百度富文本编辑时内容是html,解决 UEditor(百度富文本编辑器) 自动给 li标签中的内容加上 p 标签...

针对UEditor在创建列表时自动插入p标签的问题,可以通过编辑ueditor.all.js文件来解决。找到并注释掉相关代码段,防止在导出或编辑时自动添加p标签。该方法涉及对编辑器内容的处理,包括在导入和导出时对li元素的操作。此解决方案适用于需要纯净列表格式的UEditor用户。
摘要由CSDN通过智能技术生成

使用 UEditor 编辑内容时,当需要一些列表时,如

  1. ,列表中的每一项 UEditor 会自动增加

标签,就算我切换到 HTML 模式下将

干掉后,再切换可视化状态就会自动又加上

标签。

解决办法

1、找到ueditor.all.js(我引用的是ueditor.all.js,有的人用的是ueditor.all.min.js)

2、搜索utils.each(root.getNodesByTagName('li'),function(li) 就可以找到以下代码,删掉或注释

//导出时,去掉p标签

//me.getOpt('disablePInList') === true && me.addOutputRule(function(root){

// utils.each(root.getNodesByTagName('li'),function(li){

// var newChildrens = [],index=0;

// utils.each(li.children,function(n){

// if(n.tagName == 'p'){

// var tmpNode;

// while(tmpNode = n.children.pop()) {

// newChildrens.splice(index,0,tmpNode);

// tmpNode.parentNode = li;

// lastNode = tmpNode;

// }

// tmpNode = newChildrens[newChildrens.length-1];

// if(!tmpNode || tmpNode.type != 'element' || tmpNode.tagName != 'br'){

// var br = UE.uNode.createElement('br');

// br.parentNode = li;

// newChildrens.push(br);

// }

// index = newChildrens.length;

// }

// });

// if(newChildrens.length){

// li.children = newChildrens;

// }

// });

//});

//进入编辑器的li要套p标签

//me.addInputRule(function(root){

// 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 ? ' ' : '
')

// }

// //去掉末尾的空白

// var p = li.firstChild();

// var lastChild = p.lastChild();

// if(lastChild && lastChild.type == 'text' && /^\s*$/.test(lastChild.data)){

// p.removeChild(lastChild)

// }

// });

// if(me.options.autoTransWordToList){

// var orderlisttype = {

// 'num1':/^\d+\)/,

// 'decimal':/^\d+\./,

// 'lower-alpha':/^[a-z]+\)/,

// 'upper-alpha':/^[A-Z]+\./,

// 'cn':/^[\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+[\u3001]/,

// 'cn2':/^\([\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+\)/

// },

// unorderlisttype = {

// 'square':'n'

// };

// function checkListType(content,container){

// var span = container.firstChild();

// if(span && span.type == 'element' && span.tagName == 'span' && /Wingdings|Symbol/.test(span.getStyle('font-family'))){

// for(var p in unorderlisttype){

// if(unorderlisttype[p] == span.data){

// return p

// }

// }

// return 'disc'

// }

// for(var p in orderlisttype){

// if(orderlisttype[p].test(content)){

// return p;

// }

// }

// }

// utils.each(root.getNodesByTagName('p'),function(node){

// if(node.getAttr('class') != 'MsoListParagraph'){

// return

// }

// //word粘贴过来的会带有margin要去掉,但这样也可能会误命中一些央视

// node.setStyle('margin','');

// node.setStyle('margin-left','');

// node.setAttr('class','');

// function appendLi(list,p,type){

// if(list.tagName == 'ol'){

// if(browser.ie){

// var first = p.firstChild();

// if(first.type =='element' && first.tagName == 'span' && orderlisttype[type].test(first.innerText())){

// p.removeChild(first);

// }

// }else{

// p.innerHTML(p.innerHTML().replace(orderlisttype[type],''));

// }

// }else{

// p.removeChild(p.firstChild())

// }

// var li = UE.uNode.createElement('li');

// li.appendChild(p);

// list.appendChild(li);

// }

// var tmp = node,type,cacheNode = node;

// if(node.parentNode.tagName != 'li' && (type = checkListType(node.innerText(),node))){

// var list = UE.uNode.createElement(me.options.insertorderedlist.hasOwnProperty(type) ? 'ol' : 'ul');

// if(customStyle[type]){

// list.setAttr('class','custom_'+type)

// }else{

// list.setStyle('list-style-type',type)

// }

// while(node && node.parentNode.tagName != 'li' && checkListType(node.innerText(),node)){

// tmp = node.nextSibling();

// if(!tmp){

// node.parentNode.insertBefore(list,node)

// }

// appendLi(list,node,type);

// node = tmp;

// }

// if(!list.parentNode && node && node.parentNode){

// node.parentNode.insertBefore(list,node)

// }

// }

// var span = cacheNode.firstChild();

// if(span && span.type == 'element' && span.tagName == 'span' && /^\s*( )+\s*$/.test(span.innerText())){

// span.parentNode.removeChild(span)

// }

// })

// }

//});

注意:有的是在P标签下添加li 那li标签会有p标签,这时手动删除p标签即可,再切换可视化状态就会自动又加上

标签。

原创地址:http://www.luofenming.com/show.aspx?id=ART2020060800001

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值