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

Rom*_*man 10 html javascript css html5 webkit

在Firefox中,VIDEO标签的poster属性指定的图像保留在屏幕上,直到按下播放按钮.然而,在Webkit浏览器(Safari和Chrome)中,一旦获取视频元数据,就会转发海报以支持视频中的第一帧.

如果可以的话,我想避免手动将海报放在视频元素的顶部.有谁知道修复此问题?

<video src="some_url" poster="images/poster.jpg">
    <source type="video/ogg" src="some_url" />
</video>
Run Code Online (Sandbox Code Playgroud)

小智 6

如果您无法预加载视频,则可以在视频元素上设置preload ="none".在Safari中,这会导致显示海报.

iOS上的Safari可能会将preload ="none"设置为默认设置以节省带宽,而桌面版本会预先加载,除非您明确告诉它不要.


Leo*_*Leo 5

似乎WebKit会在视频停止播放后立即删除该属性,因为适用于Iphone和Ipad的iOS 3.x有一个严重的错误,即在指定了poster属性时根本无法播放视频。此问题已在iOS 4中修复,但即使在Safari 5中,解决方法仍然存在...许多用户尚未升级到iOS 4,因此发布者没有运气...

我将尝试使用Javascript将图像完全定位在视频上,并在播放视频时将其删除-这似乎是最好的解决方案...