在網頁制作的過程中想通過編輯器添加一些特殊應用,例如要添加視頻播放器代碼,添加后發現不能正常播放視頻,檢查代碼后發現視頻調用代碼被無情過濾了,部分被替換成空白、部分被替換成div,造成無法實現網站嵌套視頻播放的問題。網上方法不少,大多不能如愿,經多次研究整理一套完整的解決方案。
第一步: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,然后保存上傳并覆蓋。
如果還是搞不定,本人以Euditor1.4.3為例把修改好的文件打包分享出來,大家可以直接下載覆蓋。
鏈接: 提取碼: r76f
- 上一篇:網絡推廣繞不開的一步 —— SEO
- 下一篇:互聯網時代,怎么做網絡推廣
免費咨詢:18838171308