使用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