Firefox 55:首个支持 WebVR 的桌面浏览器

桌面上的 WebVR 支持

在 Windows 上的 Firefox 是 首个支持 新的 WebVR 标准的桌面浏览器(macOS 支持正在 Nightly 版本中开发!)。作为 WebVR 的发起者,Mozilla 希望它能体现 Web 的标准化、开放性和互操作性的原则,这就是 WebVR 在任何设备上都能正常工作的原因:Vive、Rift 等等。

要了解更多信息,请访问 vr.mozilla.org,或者深入了解 A-Frame,一个用于在 Web 上构建沉浸式 VR 体验的开源框架。

开发者的新功能

Firefox 55 支持多个新的 ES2017/2018 功能,包括 异步生成器 和对象 rest/spread(“...”)运算符

let a = { foo: 1, bar: 2 };
let b = { bar: 'two' };
let c = { ...a, ...b }; // { foo: 1, bar: 'two' };

MDN 提供了关于使用 ...对象字面量解构赋值 的详细文档,TC39 提案 也提供了一个简洁的概述。

在 DevTools 中,Network 面板现在支持使用诸如“status-code:200”之类的查询来过滤结果。

Screenshot showing the Firefox DevTools' Network panel with a filter on status-code:304, and a pop-up showing the new columns that are available.

此外,还有新的可选列,用于显示 cookie、协议、方案等等,这些列可以隐藏或显示在 Network 面板中,如上图所示。

让 Firefox 更快

我们实施了多个新功能,以确保 Firefox 运行速度更快。

  • 现在,Windows 上的 Firefox 新安装默认使用更稳定、更安全的 64 位版本。现有安装将在我们下一个版本 Firefox 56 中升级到 64 位。
  • 恢复会话或重新启动包含多个打开标签页的 Firefox 现在快了一个数量级。出于未知原因,Dietrich Ayala 的 Firefox 配置文件有 **1,691 个打开的标签页**。在 Firefox 54 中,启动他的 Firefox 实例需要 300 秒和 2 GB 内存。现在,使用 Firefox 55,只需要 15 秒和 0.5 GB 内存。这主要得益于外部贡献者 Kevin Jones 不懈的努力,他实际上消除了与恢复标签页相关的固定成本。
  • 用户现在可以在 “偏好设置” 中 调整 Firefox 的内容进程数量。多个内容进程 首次出现在 Firefox 54 中,让 Firefox 能够更好地利用现代多核 CPU,同时仍尊重 RAM 使用率。
  • Firefox 现在使用其内置的 跟踪保护 列表来识别和 限制跟踪脚本 在后台页面中运行。经过短暂的宽限期后,Firefox 会将跟踪脚本安排的回调的最小 setIntervalsetTimeout 增加到 **10 秒**,前提是标签页处于后台。这补充了我们针对后台标签页的常规 1 秒限制,有助于确保未使用的标签页不会在不知不觉中损害性能或电池寿命。当然,播放音频或视频的标签页不会受到限制,因此背景标签页中的音乐不会卡顿。
  • 随着 Flash 寿命结束 的宣布,以及与 MicrosoftGoogle 的协调,Firefox 55 现在要求用户在网页上显式 单击以激活 Flash,因为我们正在共同努力,将在 2020 年将 Flash 完全从 Web 平台中移除。

让 Web 更快

Firefox 55 引入了多个新的底层功能,有助于提高要求苛刻的 Web 应用程序的性能。

  • SharedArrayBufferAtomics 对象是新的 JavaScript 原语,允许工作线程共享并同时访问相同的内存。这最终使 Web 上高效的多线程成为现实。唯一的缺点是?开发人员必须像在任何其他多线程语言中一样,在共享内存时注意线程安全、互斥锁等等。您可以在 这个代码漫画介绍去年这篇解释文章 中了解更多有关 SharedArrayBuffer 的信息。
  • requestIdleCallback() API 提供了一种新的方法来安排回调,只要浏览器在帧之间有一些额外的未使用的毫秒,或者只要达到最大超时时间,就会触发回调。这使得可以在浏览器原本处于空闲状态的边缘时间段内挤入工作,并在浏览器繁忙时推迟低优先级工作。使用此 API 需要一些技巧,但 MDN 提供了有关如何有效地使用 requestIdleCallback() 的详细文档

让 Web 更安全

GeolocationStorage 加入了一系列强大的 API,例如 Service Workers,它们只允许在安全、https:// 来源上使用。如果您的网站需要 TLS 证书,请考虑 Let’s Encrypt:一个完全免费、自动化且非营利的证书颁发机构。

此外,Firefox 55 将 不允许插件从非 HTTP/S 方案(如 file:)加载或在非 HTTP/S 方案上加载

新的 WebExtension API

WebExtensions 现在可以

以及更多...

随着我们为 11 月份的 下一代 Firefox 做准备,还有许多其他变化正在进行中。一些 Firefox 55 用户将开始看到我们新的 Firefox Screenshots 功能,书签/历史记录侧边栏现在可以停靠在浏览器的任一侧,我们刚刚宣布了三个新的 Test Pilot 实验

有关新功能的完整概述,请参阅官方的 发布说明、MDN 的 Firefox 55 for DevelopersMozilla 博客公告

关于 Dan Callahan

Mozilla 开发者关系工程师,前 Mozilla Persona 开发者。

更多 Dan Callahan 的文章...


16 条评论

  1. J. Pablo Fernández

    哦… VRML 回来了!

    2017 年 8 月 8 日 下午 11:52

    1. Frank L. Laifer,美国空军少校(退役)

      我已经安装了 Firefox 56.01b。这是否意味着 55 是较旧的版本,功能也更少?——或者我漏掉了什么?

      2017 年 8 月 10 日 下午 11:47

      1. Dan Callahan

        您所使用的 Firefox 56 实际上是我们的 Beta 版本。

        我们每六周发布一个新版本,因此您的 Firefox 版本包含六周的修复和改进。:)

        2017 年 8 月 10 日 下午 12:03

        1. Andrea Nield

          我的新款 Apple MacOSSierra 经常过热,提示信息说是因为 Firefox。这是 Apple 的问题还是 Firefox 的问题,我该怎么办?我还是个电脑新手,但使用 Mozilla 已经很多年了(是我儿子推荐的),所以我不确定该怎么办?新的更新会解决这个问题吗?

          2017 年 8 月 10 日 下午 5:43

          1. Dan Callahan

            感谢您使用 Firefox。我们正在努力改进 Firefox 的性能和效率,因此每次更新都应该比上一次更好。也就是说,您不应该看到这样的警告。考虑 刷新 Firefox,看看是否有一些插件或设置导致了问题。

            2017 年 8 月 11 日 下午 11:36

  2. jon

    这可能不错,但 Firefox 在 Linux 上支持 alsa 吗?我们仍然可以使用自己喜欢的扩展,例如 firebug、标签页分组、树状标签页、经典主题还原器等等吗?

    2017 年 8 月 8 日 下午 11:53

    1. Dan Callahan

      这个问题已经在其他地方得到了广泛的讨论,尤其是 插件博客

      11 月份随 Firefox 57 推出的新插件 API 将不允许进行任意 UI 自定义,例如经典主题还原器。但是,将支持标签页分组的 API 正在开发中,树状标签页可以通过当前的 API 实现,不过插件需要根据新的 API 进行调整。

      2017 年 8 月 9 日 上午 2:00

  3. Lawrence San

    这些细微的改动可能不错,但与即将到来的 Firefox 57 大灾难相比,它们都微不足道。当 Mozilla 几乎彻底清除了其扩展生态系统——这也是少数仍然使用 Firefox 的用户坚持使用该浏览器的主要原因——整个浏览器将像烂果一样从树上掉下来,摔到地上。而 Chrome 怪物(Mozilla 一直在可怜地模仿它)将随时待命,舔舐残骸。

    2017 年 8 月 9 日 下午 12:38

    1. Dan Callahan

      感谢您的意见。11 月见!:)

      2017 年 8 月 9 日 下午 12:56

    2. 丹尼尔·莱维

      我在 IT 行业工作,我可以告诉你,Chrome 在过去几年中吸引了许多用户,但它是普通/没有经验的用户选择的浏览器。当你问他们为什么选择它时,你并不会得到很好的答案,主要是因为它是 Google 的产品。它不是一个糟糕的浏览器,但 Firefox 还有几个理由更好。我甚至没有包括个人数据囤积。

      2017 年 8 月 18 日 晚上 8:33

    3. 克里斯蒂安·阿菲

      我已经找到了少数几个没有更新到 FF 57 的扩展的替代品,其他扩展要么已经更新,要么有支持新扩展 API 的 beta/RC 版本。

      我现在非常喜欢 Firefox 中的提速改进(正在运行 FF 56beta),Chrome 对我来说永远不会是替代品 :)

      2017 年 8 月 28 日 上午 7:28

  4. 我刚在 Linux 上升级到 FF55,并且承诺了 VR 功能。我知道你对此很兴奋,但在 Linux 上的体验 = 0。

    除了展示各种 VR 乐趣的精美视频外,实际浏览器渲染完全是 NOTHING。

    a-frame?如果它能正常工作,那倒不错...

    2017 年 8 月 15 日 下午 5:23

  5. bjm

    我运行并需要保留 Firefox 32 位版。
    Mozilla 在 Firefox 56 发布后,会继续提供并支持 Firefox 32 位版常规发布通道吗?推测,我的 32 位版会被强制升级到 64 位版。
    Firefox ESR 会继续提供并支持 32 位版吗?

    谢谢

    2017 年 8 月 16 日 上午 8:09

  6. 罗伯·波尔

    关于搜索体验的一些建议——“只需输入您的查询,然后点击您想要使用的搜索引擎”。

    但自动完成存在问题。
    我的默认搜索引擎是谷歌。我想在必应中搜索一些内容。
    如果我输入一些内容,我会得到来自谷歌的建议。所以我想选择我的搜索引擎——必应,然后输入一些内容以获得来自必应的建议,然后搜索。

    第二个问题——没有活动搜索引擎的图标。也许使用图标代替放大镜。

    第三个问题——上一次使用的搜索引擎应该在搜索后自动设置为默认搜索引擎。例如:我的默认搜索引擎是谷歌,我在维基百科中搜索一些内容。下次如果我想在维基百科中搜索一些内容,我必须再次选择它的图标,因为谷歌是默认设置。每次右键单击并“设置为默认搜索引擎”不是一个选择。

    2017 年 8 月 17 日 上午 1:20

  7. 佩吉

    自从上次升级 Firefox 以来,浏览器一直崩溃!我唯一的选择似乎是使用 MS Explorer :(

    2017 年 8 月 22 日 上午 0:46

    1. Dan Callahan

      哦,不!不应该发生这种情况。您尝试过 刷新 Firefox 吗?

      2017 年 8 月 31 日 上午 9:28

本文评论已关闭。