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,然后保存上传并覆盖。

  • 相关阅读:
    Struts2SpringHibernate整合示例,一个HelloWorld版的在线书店(项目源码+详尽注释+单元测试)
    Java实现蓝桥杯勇者斗恶龙
    Java实现 LeetCode 226 翻转二叉树
    Java实现 LeetCode 226 翻转二叉树
    Java实现 LeetCode 226 翻转二叉树
    Java实现 LeetCode 225 用队列实现栈
    Java实现 LeetCode 225 用队列实现栈
    Java实现 LeetCode 225 用队列实现栈
    Java实现 LeetCode 224 基本计算器
    Java实现 LeetCode 224 基本计算器
  • 原文地址:https://www.cnblogs.com/surplus/p/14772704.html
Copyright © 2011-2022 走看看