Firefox Quantum 让 Firefox 重新变得快速,但速度只是故事的一部分。大量的努力已经投入到让 Firefox 成为一个用于创建网页的出色工具。让我们深入了解 Firefox 58 中即将发布的更改,目前可在 Firefox 开发者版 中预览。
为 CSS 作者提供更多控制
继 Firefox 功能强大的 CSS Grid Inspector 成功之后,我们很高兴地推出一个针对具有 clip-path
属性的元素的 Shape Path 编辑器。
您可以自己尝试 Chris Coyier 在 这个 CodePen 上的代码。
我们还实现了 CSS font-display
属性,允许作者指定浏览器应等待 Web 字体多长时间,以及何时应在字体加载后将其替换为另一个字体。
Firefox Quantum 还引入了 全新的 CSS 引擎(“Quantum CSS”),它修复了 Firefox 中 CSS 的许多 错误和不一致问题。例如,calc()
现在可以在规范规定的所有地方工作。
更好的调试器
我们一直在使用标准 Web 技术 重写我们的开发者工具。在开发者版中,控制台、调试器、网络监视器和响应式设计模式都是使用纯 HTML、JavaScript 和 CSS 在 React 和 Redux 等通用库之上实现的。这意味着您可以使用您现有的 Web 开发技能来修改 DevTools。debugger.html 的源代码在 GitHub 上,我们尽力标记 好的入门问题 并指导新贡献者。
我们在重写过程中实现了 大量新功能,但调试器值得特别提及。首先,源代码映射终于可以在所有地方工作,甚至包括对 JSX 等标记的适当语法高亮显示
您可能还会注意到调试器识别了 Webpack,并在源树中对其进行了适当的标记。
类似地,调试器可以识别两打常见的 JavaScript 库,并在调用堆栈中对它们的堆栈帧进行分组。这使得在跟踪错误时可以轻松地将您编写的代码与框架提供的代码区分开来
我们甚至实现了“粘性”断点,当您重构或重新排列文件中的声明时,它们会智能地随着您的代码移动。
其他工具也得到了改进:控制台组 现在可以折叠,网络监视器 可以暂停,等等。
发现新 DevTools 的最佳方法是 下载开发者版 并亲自试用。
WebVR、FLAC 和其他细节
Firefox 正在推动 Web 的新基本功能。Firefox 55 引入了对 Windows 上 WebVR 的支持,并包含了 对 macOS 的实验性支持。在 Firefox 58 中,WebVR 现在默认情况下在 Windows 和 macOS 上都受支持。
如果您有兴趣在 Web 上创建虚拟现实体验,请查看 A-Frame 库,或者阅读我们关于 Firefox Quantum 如何以 90 fps 的速度提供流畅的 WebVR 性能 的文章。
在其他首创方面,Firefox 51 是第一个支持 FLAC(无损音频格式)的浏览器。到目前为止,这种支持仅限于桌面平台上的 Firefox(Windows、macOS 和 Linux),但 Firefox 58 将 FLAC 支持带到了 Android。这意味着 Firefox、Chrome 和 Edge 都支持除 iOS 之外的所有平台上的 FLAC。
我们还做了一些更改,以帮助衡量和改进 Firefox 的性能
PerformanceNavigationTiming
API 提供对与页面加载相关的性能指标的访问。- 非主线程绘制(“OMTP”)已在 Windows 上默认启用,通过减少主线程的工作量来提高 Firefox 的响应能力。
- 我们启用了 基于预算的后台超时节流,它会减慢在后台标签中运行的脚本的速度,以节省更多 CPU 资源。
最后,内容安全策略 (CSP) 现在支持 worker-src
指令。
WebExtension API 添加
Firefox Quantum 删除了对传统附加组件的支持,并添加了数十个 新的 WebExtension API。Firefox 58 添加了 更多 API,包括:
- 访问全新的 网站隐私 控制,如第一方隔离和 指纹识别抵抗,作为正在进行的 Tor Uplift 的一部分。
- 切换、观察和控制标签是否以 阅读模式 显示。
- 查询 和 观察更改 浏览器主题,使附加组件能够适应任意主题以融入其中。
例如,Tree Style Tab 现在可以从像 VivaldiFox 这样的 WebExtension 中采用主题颜色。
我们目前正在为 2018 年规划额外的 WebExtension 功能,包括研究 隐藏单个标签或整个标签栏 的可能性。
总结
这些只是亮点。要了解有关 Firefox 58 的更多信息,该版本目前可在 Beta 版 和 开发者版 中获得,请查看 发行说明 和 MDN 的 面向开发者的 Firefox 58。
关于 Dan Callahan
Mozilla 开发者关系工程师,前 Mozilla Persona 开发人员。
41 条评论