HTML5:在 HTTPS 域上播放 HTTP 流

Psi*_*jic 2 html javascript browser video https

我可以在没有浏览器安全错误的情况下在 HTTPS 域上播放 HTTP 流吗?默认情况下,浏览器会阻止该请求。

我使用 hls.js 库来支持 .m3u8 桌面播放。当我在没有它的情况下本地播放内容时(通过移动设备或 Mac 的 Safari),浏览器会显示警告但不会阻止请求。但是,当我在启用 hls.js 的相同设备上或通过桌面浏览器播放它时,请求会被阻止。

小智 7

你不能。

混合内容,当您在 https 站点上通过 http 提供资源时,可以是被动的或主动的。

被动的:

  • 图片
  • 视频
  • 声音的

积极的:

  • Javascript
  • CSS
  • 框架
  • 对象(闪光灯等)
  • XHR(使用 javascript 发出的请求)

问题是您的视频是使用 hls.js 获取的,它被视为活动内容(请参阅最后一个项目符号),因此被阻止。

但是,如果浏览器通过<video>元素获取它,则它被视为被动内容并被允许。

建议/解决方法