html - html5 视频“海报”属性是否会阻止视频加载?
问题描述
我正在为一个网站制作一个英雄横幅,该横幅应该显示“海报”图像,直到加载视频。视频元素设置为“自动播放”。“海报”图像和视频均由 S3 提供。
经过一些页面加载分析后,似乎有时视频加载正在等待“海报”图像加载。对于在“海报”图像之前加载视频的情况,有没有办法简单地启动视频?
代码是:
<video src={'video_url'}
poster={'poster_url'}
autoplay
loop
muted
controlsList='nodownload'>
</video>
此外,该文档正在预加载“海报”图像(显示了超薄模板)
link rel="preload" as="image" href={'poster_url'}
我不想将 JS 用于这个特定的实现。一般来说,这个实现是相当高效的,但数据似乎有很高的标准偏差——当页面快速加载时,它加载得很快;当它加载缓慢时,加载速度很慢。
如果“海报”图像会阻止视频加载,文档中没有明确说明。但是,MDN 文档信息量很大。
有没有办法保证“海报”和“视频”以“最快的方式”显示?
编辑:清晰度
解决方案
一般来说,海报会在视频之前加载。
Chrome 将在视频之前下载所有图像和 CSS/HTML JS - 视频是网站中最大的文件(通常......或者你的 JS 真的很臃肿 - 但这是另一个 SO 帖子),所以它们的优先级最低。
如果您的视频设置为自动播放和静音 - 我怀疑任何人甚至会看到海报:一旦视频准备好播放,它就会开始播放,而海报将永远消失。
为什么不尝试在没有海报的情况下加载视频呢?
推荐阅读
- android - 如何在后台事件中销毁 tablayout 片段?
- django - 在 Django 中再次随机化
- sql - SQL - 加入 3 个表并为每个 id 选择最新记录的条目
- python - 如何使用 YouTube 的 API 获取有关暂停或删除视频的信息?
- amazon-web-services - 在 EKS 上的 Kubernetes 1.14 上启动 Helm Chart stable/minecraft 失败 Liveness Probe
- python-2.7 - 当没有绑定到主机时,socket.connect() 不会抛出异常?
- css - 为什么我的代码在浏览器和安卓手机上调整大小都很好,但苹果设备不听我的媒体查询?
- javascript - Webpack 正在查询错误的代理端口
- c# - 使用 FHIR nuget 包通过引用查找包中的资源
- r - 在 R 中用引号和逗号发送名称向量