代码之家  ›  专栏  ›  技术社区  ›  Roman

Safari和Chrome中的HTML5视频海报属性

  •  9
  • Roman  · 技术社区  · 14 年前

    在firefox中,由 VIDEO 在按下播放按钮之前,标签一直保留在屏幕上。然而,在WebKit浏览器(Safari和Chrome)中,一旦提取到视频元数据,海报就会被丢弃,以支持视频的第一帧。

    如果可以的话,我想避免手动将海报放在视频元素的顶部。有人知道解决这个问题的方法吗?

    <video src="some_url" poster="images/poster.jpg">
        <source type="video/ogg" src="some_url" />
    </video>
    
    2 回复  |  直到 13 年前
        1
  •  4
  •   Leo    14 年前

    似乎webkit在获取视频后会立即删除该属性,因为iOS 3.x for iphone和ipad有一个严重的错误,当指定了海报属性时,根本无法播放视频。这在iOS 4中得到了修复,但解决方案仍然存在,即使是在Safari 5中……有很多用户还没有升级到iOS 4,所以没有成功的海报……

    我将尝试使用javascript将图像绝对定位在视频上,并在播放视频时删除它-这似乎是最好的解决方案…

        2
  •  5
  •   David Owens    13 年前

    如果您不需要预加载视频,可以在视频元素上设置preload=“none”。在Safari中,这会显示海报。

    iOS上的Safari可能会将preload=“none”设置为默认值以节省带宽,而桌面版本则会预加载,除非您明确告诉它不要这样做。