桌面上的 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
”之类的查询来过滤结果。
此外,还有新的可选列,用于显示 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 会将跟踪脚本安排的回调的最小
setInterval
或setTimeout
增加到 **10 秒**,前提是标签页处于后台。这补充了我们针对后台标签页的常规 1 秒限制,有助于确保未使用的标签页不会在不知不觉中损害性能或电池寿命。当然,播放音频或视频的标签页不会受到限制,因此背景标签页中的音乐不会卡顿。 - 随着 Flash 寿命结束 的宣布,以及与 Microsoft 和 Google 的协调,Firefox 55 现在要求用户在网页上显式 单击以激活 Flash,因为我们正在共同努力,将在 2020 年将 Flash 完全从 Web 平台中移除。
让 Web 更快
Firefox 55 引入了多个新的底层功能,有助于提高要求苛刻的 Web 应用程序的性能。
- IntersectionObserver API 使浏览器能够比使用轮询或不可见 Flash 电影的现有方法更高效、更可靠地响应页面上元素的可见性。您可以在 上周有关 IntersectionObserver 的文章 中了解更多信息。
- SharedArrayBuffer 和 Atomics 对象是新的 JavaScript 原语,允许工作线程共享并同时访问相同的内存。这最终使 Web 上高效的多线程成为现实。唯一的缺点是?开发人员必须像在任何其他多线程语言中一样,在共享内存时注意线程安全、互斥锁等等。您可以在 这个代码漫画介绍 和 去年这篇解释文章 中了解更多有关
SharedArrayBuffer
的信息。 - requestIdleCallback() API 提供了一种新的方法来安排回调,只要浏览器在帧之间有一些额外的未使用的毫秒,或者只要达到最大超时时间,就会触发回调。这使得可以在浏览器原本处于空闲状态的边缘时间段内挤入工作,并在浏览器繁忙时推迟低优先级工作。使用此 API 需要一些技巧,但 MDN 提供了有关如何有效地使用
requestIdleCallback()
的详细文档。
让 Web 更安全
Geolocation 和 Storage 加入了一系列强大的 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 Developers 和 Mozilla 博客公告 。
关于 Dan Callahan
Mozilla 开发者关系工程师,前 Mozilla Persona 开发者。
16 条评论