最近我想使用百度编辑器插入视频的时候才发现,很多其他来源的视频都无法播放,经过研究一番发现,原来是ueditor.config.js里面的xssFilter导致的,他把html标签里非白名单的元素都给过滤了,导致视频一些关键属性丢失。那么怎么修改呢,在此我举个例子。
1.在配置文件ueditor.config.js中,定位 //xss过滤白名单,即,whitList:{ },对 img: 增加 “_url” 属性。编辑器在切换源码的过程中过滤掉img的_url属性(用来存储视频url)_src/plugins/video.js里处理的是_url,而不是_src。
2.在下面的 video 标签后面新增3给标签,使Ueditor分别能支持embed标签和iframe标签。
代码如下:
source: ['src', 'type'], embed: ['type', 'class', 'pluginspage', 'src', 'width', 'height', 'align', 'style', 'wmode', 'play', + 'autoplay','loop', 'menu', 'allowscriptaccess', 'allowfullscreen', 'controls', 'preload'], iframe: ['src', 'class', 'height', 'width', 'max-width', 'max-height', 'align', 'frameborder', 'allowfullscreen']
其中[]中的各个字段为前面相应标签的属性 比如:<iframe src="", width="", height=""></iframe>。
这样,在编辑器中就可以引用优酷、腾讯视频的iframe通用代码和embed html代码;移动端一般引用iframe,可设置属性,使其适应设备。(这里,建议切换到源码模式,插入相应的视频代码embed或iframe。其中iframe可编辑大小,优酷embed有效,腾讯embed无效;且腾讯视频的iframe可设置为自动播放,优选)。