博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百度编辑器UEditor不能插入视频的解决方法
阅读量:6554 次
发布时间:2019-06-24

本文共 1203 字,大约阅读时间需要 4 分钟。

hot3.png

xssFilter导致插入视频异常,编辑器在切换源码的过程中过滤掉img的_url属性(用来存储视频url)_src/plugins/video.js里处理的是_url,而不是_src。<基本出处参见: >

1、在配置文件ueditor.config.js中,定位 //xss过滤白名单,即,whitList:{ },对 img: 增加 “_url” 属性:

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可设置为自动播放,优选

 

注意:通过以上两步后,可能出现的新问题是,前端页面不解析<iframe>标签,而是将其原样输出:

解决方法:用html_entity_decode()函数把HTML实体转换为字符,该函数为php函数。

假设$string为从数据库中取出的编辑器存入的内容:经html_entity_decode($string)后,再输出到前端页面。

(非常奇怪,不知啥原因,输入embed标签插入视频没问题;输入<iframe>标签时,数据库中的数据竟然是将  <> 转义过的,成了&lt; 和 &gt; 并且好像只有iframe这一个标签是这样的,所以前端页面必须用html_entity_decode()转换再输出。对UEditor有研究透彻的朋友,欢迎指出更好的解决方案。)

 

转载于:https://my.oschina.net/codercpf/blog/787985

你可能感兴趣的文章
公众平台安全中心新增运营者微信号个数为四个 支持多人管理
查看>>
Android BitmapFactory.Options
查看>>
前端构建:Less入了个门
查看>>
Hibernate 自动生成数据库表
查看>>
phonegap(cordova) 自己定义插件代码篇(三)----支付宝支付工具整合
查看>>
牛客网Java刷题知识点之构造函数是什么、一般函数和构造函数什么区别呢、构造函数的重载、构造函数的内存图解...
查看>>
博客更名为 健哥的数据花园
查看>>
linux 批量进行:解压缩某一类压缩文件类型的文件
查看>>
ubuntu,CentOS永久修改主机名
查看>>
激活modelsim se 10.4 时运行patch_dll.bat不能生成TXT
查看>>
17秋 软件工程 Alpha 事后诸葛亮会议
查看>>
线性空间
查看>>
Tensflow的targmax函数
查看>>
疑似checkpoint堵塞数据库连接
查看>>
Node.js中针对中文的查找和替换无效的解决方法
查看>>
理解指针的关键
查看>>
如何查看Ubuntu下已安装包版本号
查看>>
MS SQL巡检系列——检查重复索引
查看>>
我的那些年(2)~我毕业了
查看>>
VS2017 配置ImageMagick
查看>>