青岛网站建设新闻资讯

解决百度富文本编辑器-Ueditor div、dl、dt、dd过滤替换问题

时间:2024-02-26 已阅读:502次 | 作者:青岛网站建设

首页>新闻资讯>建站知识

使用ueditor编辑器中,想保存style标签的样式需要对js配置文件进行修改。官方为了安全考虑,默认会将style标签转为DIV标签,导致样式不能显示出对应的效果。

本修改基于1.4.3版本修改如下

1.找到ueditor.config.js文件

// 将下面3个参数值改为false

// xss 过滤是否开启,inserthtml等操作

,xssFilterRules: false

//input xss过滤

,inputXssFilter: false

//output xss过滤

,outputXssFilter: false

2.确定页面引入的是 ueditor.all.min.js 还是 ueditor.all.js ,并修改:

1、 找到allowDivTransToP参数,这个参数会将DIV标签转为P标签,设置为false

me.setOpt(

  {

    'allowDivTransToP':false,

    'disabledTableInTable':true

  }

);

2 找到addInputRule方法,并将switch case 中的case style:删除或注释

switch (node.tagName) {

// case 'style':

// case 'script':

// node.setAttr({

// cdata_tag: node.tagName,

// cdata_data: (node.innerHTML() || ''),

// '_ue_custom_node_':'true'

// });

// node.tagName = 'div';

// node.innerHTML('');

// break;

case 'a':

if (val = node.getAttr('href')) {

node.setAttr('_href', val)

}

break;

3、搜索 node.tagName = ‘ul’; 把如下几行注释

if (p.firstChild()) {

node.parentNode.insertBefore(p, node);

}

node.parentNode.removeChild(node);

break;

// case 'dl':

// node.tagName = 'ul';

// break;

// case 'dt':

// case 'dd':

// node.tagName = 'li';

// break;

case 'li':

var className = node.getAttr('class');

if (!className || !/list-/.test(className)) {

node.setAttr()

}

var tmpNodes = node.getNodesByTagName('ol ul');

UE.utils.each(tmpNodes, function (n) {

node.parentNode.insertAfter(n, node);

});

4.清除浏览器缓存,刷新网站


二维码
扫描二维码手机查看该文章

文章引用:https://www.qinghuahulian.com/news/webzhishi/1449.html

相关资讯

Copyright © 2011-2024 青华互联-青岛青华锐思网络科技有限公司 www.qinghuahulian.com All Rights Reserved
鲁公网安备37020202000800号 鲁ICP备14020555号-4 网站地图 百度地图