如何解决关于ueditor编辑器过滤script/style标签的问题
在网页制作的过程中想通过编辑器添加一些特殊应用,例如要添加视频播放器代码,添加后发现不能正常播放视频,检查代码后发现视频调用代码被无情过滤了,部分被替换成空白、部分被替换成div,造成无法实现网站嵌套视频播放的问题。网上方法不少,大多不能如愿,经多次研究整理一套完整的解决方案。
第一步:UEditor取消html源代码切换时div/script/style等自动过滤
在Ueditor编辑器目录找到ueditor的js文件:ueditor.all.js 注意return;加入的位置!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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 该列表下出现的标签及对应的属性是不会被过滤掉的。
1 2 3 4 5 6 7 8 9 10 11 12 | // 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,然后保存上传并覆盖。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2020-05-15 织梦DedeCms网站首页不生成html文件动态显示方法
2019-05-15 SNMP监控一些常用OID的总结
2019-05-15 转载:关于思科交换机、路由器如何关闭telnet 开启ssh服务
2019-05-15 Cisco路由器用SSH替代Telnet连接