HTML5 视频未在 chrome 中加载,但在打开开发人员控制台时有效
Posted
技术标签:
【中文标题】HTML5 视频未在 chrome 中加载,但在打开开发人员控制台时有效【英文标题】:HTML5 video not loading in chrome, but works when the developer console is opened up 【发布时间】:2018-11-15 01:36:51 【问题描述】:我正在为客户开发一个 Web 应用程序,但 html5 视频标签存在问题。
问题是视频无法在 chrome 中加载,但可以在 Safari、Firefox 和 IE 上运行。
所以我开始在 chrome 中进行调试,但我发现如果我在打开控制台的情况下刷新页面,视频就会加载。但是当我关闭控制台并刷新时,视频不会加载...
以下是我尝试过的几件事:
拥有多种类型的视频,包括 mp4 和 webm。 在componentDidMount中,用相同的代码替换视频。
但似乎没有一个工作......
<div class="Top">
<div class="video-container BGVideo">
<video id="videobg" class="video-background" preload="true" loop="" autoplay="" poster="/img/azzura.jpg">
<source src="/img/azzura.mp4">
<source src="/img/azzura.webm">
</video>
<div class="video-overlay"></div>
<div class="video-content">
<div class="BGContent">
<div class="scrollDown">
<a class="button"><i class="fa fa-chevron-down"></i></a>
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
显示你的代码... 可能的解决方案:打开Developer Console
> 按F1
> 滚动到Network
> 检查Disable Cache (while DevTools is open)
。您的代码中可能存在一些缓存问题。如果没有额外的代码,我们将无法提供帮助。
【参考方案1】:
我发现我的问题是我启用了自动播放,但是根据 chrome 的新政策,除非视频被静音,否则不允许自动播放,因此添加 muted 属性可以解决问题。
【讨论】:
【参考方案2】:这对我来说很好。
已完成的参数 loop="false"
和 autoplay="false"
已清空,例如loop=""
等
<div class="Top">
<div class="video-container BGVideo">
<video id="videobg" class="video-background" preload="true" loop="false" autoplay="false" poster="">
<source src="https://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4">
</video>
<div class="video-overlay"></div>
<div class="video-content">
<div class="BGContent">
<div class="scrollDown">
<a class="button"><i class="fa fa-chevron-down"></i></a></div>
</div>
</div>
</div>
</div>
【讨论】:
这些属性是布尔类型。这意味着它们存在时为真,如果被忽略则为假。loop="false"
在有效的 html/浏览器中将循环设置为 true
,而不是 false
。以上是关于HTML5 视频未在 chrome 中加载,但在打开开发人员控制台时有效的主要内容,如果未能解决你的问题,请参考以下文章
Chrome 扩展程序未在 YouTube 的浏览器导航中加载