微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么内联视频 src 媒体查询不起作用?

如何解决为什么内联视频 src 媒体查询不起作用?

我最近创建的网页有两个视频,但内联媒体查询不起作用。

播放器只是拉取源列表中的第一个视频。

这是我的代码

        <video class="intro-video" controls poster="lineandgrid-video-intro-cover.gif">
            <source media="(max-width: 750px)" src="lineandgrid-introduction-video-mobile.mp4" type="video/mp4">
            <source media="(min-width: 751px)" src="lineandgrid-introduction-video.mp4" type="video/mp4">
        </video>

谁能告诉我我做错了什么?您可以在此处查看实时网页:https://lineandgrid.ca/video/

解决方法

媒体查询通常只支持 元素。

属性: 媒体: 资源预期媒体的媒体查询; 这应该只在 元素中使用。

来源:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source

Chrome 不支持对源标签内的内联媒体查询 视频标签。 [...] 更糟糕的是,普通媒体查询不会停止多个 加载中的视频,这有效地使您的数据翻倍,因此它 需要 JS 解决方案。

来源:https://blog.greggant.com/posts/2019/08/02/responsive-videos-javascript-solution-video-source-tag.html

建议的 JS 解决方案,如果原始博客文章不可用:https://gist.githubusercontent.com/fuzzywalrus/8abdd088e3fb6a73fd5d980f7bab0118/raw/9922cce9c4c040164f383671070e588c2adff944/responsivevideo.js


原答案:

显然,对内联媒体查询的支持已被删除:

Chrome not respecting video source inline media queries

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。