问题一: 因为Flash被淘汰,所以项目中的所有的视频都要换成了iframe嵌入:
为什么选iframe?
- <embed> : 允许嵌入PDF,SVG
- <object>:同 <embed>
- <iframe> :能够将另一个HTML页面嵌入到当前页面中。
name="iframe"
: 用于定位嵌入的浏览上下文的名称frameborder="0"
: 值为1(默认值)时,显示此框架的边框。值为0时移除边框,已废弃,使用 CSS 属性 border 代替width="100%"
: frame 的宽度。默认值是300height="100%"
: frame的高度。默认值为150src=""
: 被嵌套的页面的 URL 地址importance="high"
: auto (default)不指定优先级; high:资源的加载优先级较高; low:资源的加载优先级较低allowpaymentrequest="true"
: 允许跨域的调用Payment Request API, 被重新定义为allow="payment"
allowfullscreen='true'
: 可以通过调用 的 requestFullscreen() 方法激活全屏模式, 被重新定义为allow="fullscreen"
<iframe
frameborder="0"
width="100%"
height="100%"
src="{{$data->content}}"
allowfullscreen='true' ></iframe>
问题二:HTTPS协议网址不支持HTTP协议的资源
在开发环境和测试环境都没有问题,可以正常播放,但是更新到了正式环境无法播放,因为正式网站协议是HTTPS。而视频资源的协议是HTTP的,所以不被支持;
- HTTP (The HyperText Transfer Protocol,超文本传输协议)
- HTTPS (安全的HTTP)是 HTTP 协议的加密版本
解决办法:
<meta http-equiv="content-security-policy" content="upgrade-insecure-requests" />
但是这个办法在https协议的网站可以用,但是我的本地开发环境是http协议的,样式全乱了,所以最后让后台些可以脚本把所有HTTP的协议全部改成HTTPS了。
推荐方法:不指定具体协议,使用资源协议自适配,当前为https页面,那么就是https资源,如果是http页面,那么就是http资源。
实现方法:<script src='//www.baidu.com/'></script>
页面会自己根据实际情况匹配协议是https还是http。