Firefox 开发亮点 – Windows 上的 H.264 和 MP3 支持,作用域样式表等等

现在让我们一起来看看今年 Firefox 的最新进展。这是我们 Bleeding EdgeFirefox 开发亮点 系列的一部分,大多数示例仅在 Firefox Nightly 中有效(并且可能会发生更改)。

Windows 上的 H.264 和 MP3 支持

Firefox for AndroidFirefox OS 已经支持 H.264 和 MP3。我们也正在努力将这些格式引入 Firefox 桌面版。在 Windows 7 及更高版本上,您可以在 about:config 中启用 media.windows-media-foundation.enabled 偏好设置来测试它。解码在操作系统端完成(Firefox 源代码中没有包含解码器,不像 WebM 或 Ogg Theora)。对于 Linux 和 Mac,工作正在进行中。

新的下载面板已启用

我们现在启用了新的下载面板。

作用域样式属性

现在可以定义作用域样式元素。通常,当我们编写样式表时,我们使用 <style>...</style>,CSS 代码应用于整个文档。如果 <style> 标签嵌套在一个节点(比如 <div>)中,并且 <style> 标签包含 scoped 属性(<style scoped>),那么 CSS 代码将仅应用于文档的子树,从 <style> 元素的父节点开始。子树的根也可以通过 :scope 伪类来引用。

演示

JS Bin 上的作用域样式演示支持.

我们 HTML5Rocks 的朋友也在 A New Experimental Feature: scoped stylesheets 中对此进行了介绍。

@supports 和 CSS.supports

在 Firefox 17 中,我们发布了 @supports CSS at-rule。它允许您仅在支持某些功能的情况下定义特定的 CSS 代码。例如

@supports not (display: flex) {
  /* If flex box model is not supported, we use a different layout */
  #main {
      width: 90%;
  }
}

在 Firefox 20 中,现在可以在 JavaScript 中执行相同操作

if (CSS.supports("display", "flex")) {
  // do something relying on flexbox
}

关于 Paul Rouget

Paul 是一位 Firefox 开发人员。

更多来自 Paul Rouget 的文章…

关于 Robert Nyman [荣誉编辑]

Mozilla Hacks 技术布道者和编辑。发表关于 HTML5、JavaScript 和开放网络的演讲和博客。Robert 是 HTML5 和开放网络的坚定支持者,自 1999 年以来一直在从事 Web 前端开发工作 - 在瑞典和纽约市。他还定期在 http://robertnyman.com 上发表博客,喜欢旅行和结识新朋友。

更多来自 Robert Nyman [荣誉编辑] 的文章…


34 条评论

  1. Skoua

    不错!
    所以你们决定通过依赖操作系统来支持 H264?

    2013 年 1 月 23 日 09:06

    1. Robert Nyman

      是的!

      2013 年 1 月 23 日 13:23

      1. pd

        那 XP 用户怎么办?

        2013 年 2 月 13 日 09:50

        1. Robert Nyman [编辑]

          这个问题正在 该错误中讨论。希望也会有 XP 支持。

          2013 年 2 月 14 日 05:39

          1. pd

            谢谢您提供链接。

            2013 年 2 月 20 日 04:30

      2. AK

        Mac 用户呢。

        2013 年 4 月 8 日 19:47

  2. Fawad Hassan

    @supports 是标准功能还是浏览器特有的?

    2013 年 1 月 23 日 10:48

    1. Robert Nyman

      标准,而且我相信它与 规范中的 supports(method) 相匹配。

      2013 年 1 月 23 日 13:38

  3. Dan Forman

    嘿,请在 XP 和 Vista 上启用原生编解码器支持!

    2013 年 1 月 23 日 14:16

    1. Robert Nyman

      您是指在 Firefox 中内置支持吗?这方面存在一些许可和其他问题,因此我们目前决定使用操作系统中可用的内容。

      2013 年 1 月 23 日 14:51

      1. Dan Forman

        不,我的意思是仅仅启用使用系统上安装的原生编解码器的播放,就像 Windows 7 一样。如果用户(或某些应用程序)安装了它们,只需使用它们,没有理由不使用。..

        2013 年 1 月 23 日 15:26

        1. Robert Nyman

          啊,明白了。好吧,我相信其他操作系统版本会这样做(当然,可能存在一些与之相关的问题,但仍然)。

          2013 年 1 月 23 日 15:49

  4. Arno

    这将启用哪些容器格式?例如 MPEG-TS,即实时流媒体?

    2013 年 1 月 25 日 08:54

    1. Robert Nyman [编辑]

      据我所知,应该支持流媒体,但我对容器格式不确定。如果您对 实现错误 感兴趣,可以找到很多信息。

      2013 年 1 月 25 日 14:26

      1. Arno

        不支持 MPEG-TS,这意味着基本上不支持“商业”实时流媒体 :o(

        时间戳:2013/01/02 13:46:26
        警告:HTTP 的“Content-Type”为“video/mp2t”不受支持。媒体资源 http://127.0.0.1:8192/e5a12c7ad2d8fab33c699d1e198d66f79fa610c3.-1 的加载失败。

        我会在错误页面上报告。

        2013 年 2 月 1 日 05:50

        1. Robert Nyman [编辑]

          好的,太可惜了。谢谢,请务必这样做!

          2013 年 2 月 1 日 06:40

  5. John A. Bilicki III

    如果 Internet Explorer 和 Safari 拒绝支持标准的免费和开放编解码器,那 Mozilla 为什么要在 Firefox 中实现受许可证约束的编解码器呢?

    #massive_fail

    2013 年 2 月 1 日 05:29

    1. Robert Nyman [编辑]

      首先,我们没有实现编解码器支持,我们利用了操作系统中可用的内容。关于原因,请阅读 Video, Mobile, and the Open Web

      Firefox 基本上是唯一不支持 H.264 的主流 Web 浏览器,不幸的是,我们没有足够的杠杆作用让所有其他 Web 浏览器和主要视频服务提供商改变。

      2013 年 2 月 1 日 06:43

      1. John A. Bilicki III

        根据我 2012 年 12 月的统计数据,78.57% 的访问者使用支持免费和开放编解码器的浏览器…
        http://www.jabcreations.com/blog/december-2012-browser-market-share

        …与我见过的任何其他统计数据不同,我的数据基于 DOM 检测,而不是用户代理。

        标准永远不能收费、授权或以任何方式用于赚钱,否则它就不是标准,就是这样。

        2013 年 2 月 1 日 06:53

        1. Robert Nyman [编辑]

          这对您来说很好。但这并不一定意味着 a) 对所有现有的网站都适用,b) 最受欢迎的视频服务将支持开放格式。

          我认为这不是标准,而是目前事实上的视频格式。

          2013 年 2 月 1 日 07:03

  6. AK

    何时会发布到 OSX?

    2013 年 2 月 10 日 00:01

    1. Robert Nyman [编辑]

      我现在不能说更多关于时间方面的信息。

      2013 年 2 月 12 日 03:27

  7. Matt

    有人知道 h.264 支持是否也适用于 WebRTC 会议吗?

    2013 年 2 月 20 日 14:20

    1. Robert Nyman [编辑]

      不,WebRTC 基于 VP8 编解码器

      2013 年 2 月 21 日 01:26

  8. MG

    我在所有关于 Firefox 上 H.264 的 Google 搜索中都看到 Firefox 有它 bla bla bla,…… …… ……

    超过 100 页的垃圾,但没有关于如何在 Firefox 上安装它的方法

    我到底该怎么在 Firefox 上安装它

    2013 年 3 月 9 日 下午 11:30

    1. Robert Nyman [编辑]

      这篇文章的第二段有描述。目前,它只支持 Windows 上的 Firefox Nightly 和 Android 上的 Firefox。

      2013 年 3 月 11 日 上午 07:37

  9. MG

    糟糕,我需要下载新的 Firefox

    然后又要重新配置所有东西,比如标签等等

    好的,谢谢

    2013 年 3 月 11 日 上午 11:30

  10. Bhaavan Merchant

    Linux 支持呢?我已经有了底层编解码器,我只需要 Firefox 使用它们,并让它成为一个无插件的世界。

    2013 年 3 月 21 日 上午 00:56

    1. Robert Nyman [编辑]

      正如文章中提到的,Linux 支持正在开发中。

      2013 年 3 月 21 日 上午 01:18

  11. kringel

    尊敬的 Mozilla:

    请添加类似 media.linux-libavcodec-extra.enabled 的选项

    许多浏览器,如 Midori、Qupzilla 和 Chromium,如果安装了 libav*(-extra) 包,就会利用它们。用户需要从 contrib/non-free/universe 包仓库中安装这些包。

    如果 Firefox 可以利用 Windows 系统上的编解码器,为什么不能在 Linux 上呢?我希望这仅仅是“还没有”,因为缺少 H264 支持导致我使用 Chromium/Chrome。我也希望未来能够更好地支持 VP9。

    包:libavcodec-extra-5*、libavdevice-extra-5*、libavfilter-extra-*、libavformat-extra-5*、libavutil-extra-5*、libpostproc-extra-5*、libswscale-extra-*

    2013 年 3 月 23 日 下午 10:37

  12. kringel

    哦,很高兴看到 Linux 支持也在路上。谢谢!我真的很期待这个。我希望能够简单地使用 libavcodec-* 包,不需要 Gstreamer。

    2013 年 3 月 23 日 下午 10:45

  13. nullability

    我在 Firefox 20.0(发布版)中试用了这个功能,它非常棒。它什么时候会默认启用?

    2013 年 4 月 3 日 下午 12:12

    1. Robert Nyman [编辑]

      还不确定,正在评估中。

      2013 年 4 月 4 日 上午 03:34

  14. AK

    Mac 上的 H.264。

    20 来了又走了。

    该死!该死!该死!

    我是否应该使用 Chrome?好吧,Ghostery 和 ABP 也在那里。

    2013 年 4 月 8 日 19:47

本文的评论已关闭。