Ueditor编辑器 自动过滤Style内联样式问题

一、修改ueditor.all.js 文件

  • 1 、修改allowDivTransToP属性为false
UE.plugins['defaultfilter'] = function () {
    var me = this;
    me.setOpt({
        'allowDivTransToP':false,
        'disabledTableInTable':true
    });
  • 2、修改过滤规则

将 case style 与script 注释掉

        root.traversal(function (node) {
            if (node.type == 'element') {
                if (!dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {
                    if (!node.firstChild()) node.parentNode.removeChild(node);
                    else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {
                        node.parentNode.removeChild(node, true)
                    }
                    return;
                }
                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;

二、修改ueditor.config.js

以下三项配置全部改为false

    // xss 过滤是否开启,inserthtml等操作
        ,xssFilterRules: false
        //input xss过滤
        ,inputXssFilter: false
        //output xss过滤
        ,outputXssFilter: false

猜你喜欢

转载自blog.51cto.com/55757353/2416544