zoukankan      html  css  js  c++  java
  • 如何解决关于ueditor编辑器过滤script/style标签的问题

    在网页制作的过程中想通过编辑器添加一些特殊应用,例如要添加视频播放器代码,添加后发现不能正常播放视频,检查代码后发现视频调用代码被无情过滤了,部分被替换成空白、部分被替换成div,造成无法实现网站嵌套视频播放的问题。网上方法不少,大多不能如愿,经多次研究整理一套完整的解决方案。

    关闭ueditor标签过滤

      第一步:UEditor取消html源代码切换时div/script/style等自动过滤
      在Ueditor编辑器目录找到ueditor的js文件:ueditor.all.js 注意return;加入的位置!

    ueditor.all.js
    搜索 UE.plugins['defaultfilter']
    UE.plugins['defaultfilter'] = function () {  
        return;   //在这里添加return,不执行下面的格式化  
        var me = this;  
        me.setOpt({  
            'allowDivTransToP':false,  
            'disabledTableInTable':true  
        });  
        //默认的过滤处理  
        //进入编辑器的内容处理  
    
    ueditor.all.min.js
    搜索UE.plugins.defaultfilter
    
    UE.plugins.defaultfilter=  
    function(){return;var d=this;d.setOpt({allowDivTransToP:!0,d

      第二步:确保配置文件中白名单列表中包含相关标签及对应的属性
      找到配置文件:ueditor.config.js 搜索关键词:whitList 该列表下出现的标签及对应的属性是不会被过滤掉的。

            // xss过滤白名单
            ,whitList: {
                iframe: ['frameborder','border','width','height','src','id'],
                a:      ['target', 'href', 'title', 'class', 'style'],
                abbr:   ['title', 'class', 'style'],
                script: ['type','src'],
                address: ['class', 'style'],
                area:   ['shape', 'coords', 'href', 'alt'],
                article: [],
                aside:  [],
                audio:  ['autoplay', 'controls', 'loop', 'preload', 'src', 'class', 'style'],
                b:      ['class', 'style'],

      以上二步缺一不可,按照步骤修改相关标签及对应的属性,保存后覆盖原来的文件,清空站点及本地缓存后即可生效。


      若以上两步仍不能解决问题,script,style等标签依然被过滤,那么请检查使用编辑器的页面调用的是哪个文件(ueditor.js还是ueditor.min.js),打开对应的文件,一般用的是ueditor.min.js这个文件,搜索代码“filterInputRule:function”,在代码{for(var这个位置即for前加入return; 编辑之后是:{return;for(var,然后保存上传并覆盖。

  • 相关阅读:
    Android 常见工具类封装
    Android Logcat 封装类
    Android 四大组件之 " Activity "
    "浅谈Android"第一篇:Android系统简介
    罗列的书单
    关于多层架构一些思考
    LeetCode 330. Patching Array
    LeetCode 315. Count of Smaller Numbers After Self(线段树,树状数组)
    LeetCode 316. Remove Duplicate Letters(贪心)
    LeetCode 327. Count of Range Sum(线段树)
  • 原文地址:https://www.cnblogs.com/surplus/p/14772704.html
Copyright © 2011-2022 走看看