【问题标题】:Does <video> autoplay pause when element not visible in Chrome?当元素在 Chrome 中不可见时,<video> 是否会暂停自动播放?
【发布时间】:2017-04-24 20:14:39
【问题描述】:

我有一个 video 标记,其中 autoplay 属性已打开。它是“隐藏的”,因为它嵌套在应用了 display: none 的容器中。

但是,Chrome 中此页面标签的 CPU 使用率似乎很高(大约 20%)。页面上没有其他内容。

视频标签在隐藏时会暂停自动播放吗?作为参考,iOS 10 中基于 WebKit 的 Safari 在屏幕上不可见时会暂停视频标签上的自动播放 (https://webkit.org/blog/6784/new-video-policies-for-ios/)。但我不确定 Chrome 是否会这样做,因为它使用了 Webkit 的 Blink 分支。

Chrome Mac 55.0.2883.75(64 位)

【问题讨论】:

    标签: javascript google-chrome webkit blink


    【解决方案1】:

    来自w3c docs

    自动播放 =“自动播放”或“”(空字符串)或空

    指示 UA 尽快自动开始播放视频 因为它可以不间断地这样做。

    属性display: none 只会阻止元素被显示,但它仍会被加载。 display:none 不会阻止视频加载。因此,当视频可以播放时,它将被播放。

    这里是the question 关于使用display:none 加载图像的内容。

    【讨论】:

    • 谢谢!这是关于 display: none 和图像加载行为的一个很好的参考。我确实想知道这是否仍然适用于 Chrome 中的视频,因为它仍然取决于浏览器供应商。到目前为止,我能找到的最接近的提示是:“静音自动播放将适用于任何可见文档、iframe 或其他文件中的任何可见视频元素。”那么我可以假设如果它不可见它就不会起作用吗? developers.google.com/web/updates/2016/07/autoplay
    猜你喜欢
    • 2015-09-11
    • 2021-10-15
    • 1970-01-01
    • 2020-10-20
    • 2011-10-16
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多