浏览器在什么条件下缓存<video>文件?</video>

时间:2011-02-24 22:33:22

标签: caching .htaccess html5 video browser-cache

浏览器在什么条件下缓存文件?有时确实如此,有时却没有。如果这里没有人知道,我的下一步将是测试各种文件格式,文件大小和htaccess场景。

如果你不知道,你能想到你建议测试的其他变量吗?

提前致谢!

2 个答案:

答案 0 :(得分:16)

以下用于指示浏览器缓存文件。最后一行是使服务器使用正确的头MIME类型传送webm文件所必需的。

# Expires is set to a point we won't reach,
# Cache control will trigger first, 10 days after access
# 10 Days = 60s x 60m x 24hrs x 10days =  864,000
<FilesMatch "\.(webm|ogg|mp4)$">
Header set Expires "Mon, 27 Mar 2038 13:33:37 GMT"
Header set Cache-Control "max-age=864000"
</FilesMatch>
AddType video/webm .webm

答案 1 :(得分:5)

HTML5规范并不严格关于浏览器必须对缓存视频文件做什么 - 它只是建议什么是“合理”,因此理论上不同的浏览器可能会有不同的行为。

Web开发人员可以尝试使用preload<audio>元素上的<video>属性控制视频缓存,如下所示:

preload=none用户可能无法观看视频(即最好不要预先加载)

preload=metadata用户可能会观看视频(即最好只下载有关视频的信息(大小,持续时间等))

preload=auto用户可能会观看视频(也许是预加载和缓存视频的好主意)

正如我所说,规范没有强制执行此操作,因此浏览器可以忽略预加载值(如果他们选择)。一个例子可能是浏览器检测到连接缓慢或不稳定,因此拒绝预加载,但我目前还不知道有任何浏览器这样做。

有关preload属性的更多信息,请访问:http://www.w3.org/TR/html5/video.html#attr-media-preload

相关问题