Firefox 4 支持 HTML5 视频的 preload 属性,并移除 autobuffer 属性

这是来自 Chris Pearce 博客 的转载。为了符合 HTML5 规范,我们用三态 preload 属性替换了 autobuffer 属性。我们建议您更新您的代码。请参阅 MDC 上的文档

上周晚些时候,我在 Firefox trunk 上实现了对 HTML5 视频的“preload”属性 的支持。这取代了我们之前支持的“autobuffer”属性。如果您之前在 HTML5 视频上使用了 autobuffer 属性,则需要更新为使用 preload 属性。

preload 属性为浏览器提供了一个提示,说明对给定媒体进行多少下载是合理的。preload 属性可以有三个值

  1. none” – 建议浏览器在用户播放资源之前不要加载此媒体。浏览器将延迟加载媒体所需的任何网络流量,直到用户尝试播放资源或显式加载资源。我建议在用户不太可能播放资源时使用此 preload 值以及 poster 属性。这在移动环境中可能最有用,因为数据可能很昂贵。
  2. metadata” – 建议浏览器无需预先加载整个资源。浏览器在加载元数据后会暂停加载,显示第一帧视频(如果没有海报图像),并确保可以播放媒体。这是默认行为,可以防止在 Web 开发人员不确定视频是否一定会播放时产生过多的网络流量。如果您未指定 preload 值,Firefox 将自动执行此操作。在没有 autobuffer 属性的情况下,Firefox 3.5 和 3.6 的默认行为也是如此。此默认行为是在节省带宽和用户便利性之间取得的折衷方案。
  3. auto” – 建议浏览器尽可能多地加载资源。只要浏览器的媒体缓存未满,它就会继续下载。我建议这在“YouTube”案例中最为有用,在这种情况下,您拥有用户几乎肯定会观看的媒体,因此让用户下载媒体不太可能浪费服务器带宽。此行为与在 Firefox 3.5 和 3.6 中使用 autobuffer 属性相同。

由于 Firefox 4 中不再存在 autobuffer 属性,并且 Firefox 3.5 和 3.6 中不存在 preload 属性,如果您希望媒体完全下载,则应在 video 元素中同时包含 preload=”auto” 和 autobuffer例如

<video autobuffer preload=”auto” src=”video.ogg”></video>

如果您希望仅在用户实际播放视频时才下载视频,则不应包含 preload 或 autobuffer 属性。Firefox 3.5、3.6 和即将推出的 Firefox 4 的默认行为是只加载到第一帧,然后暂停下载。

关于 Paul Rouget

Paul 是一位 Firefox 开发人员。

更多 Paul Rouget 的文章…