Firefox 67:暗黑模式 CSS、WebRender 等

Firefox 67 已于今日发布,带来更快的 JavaScript 调试器,支持 CSS prefers-color-scheme 媒体查询,以及 WebRender 在稳定版 Firefox 中的首秀。

这些只是亮点。有关完整信息,请参阅

CSS 颜色方案查询

在 Firefox 67 中,prefers-color-scheme 媒体特性允许网站根据用户的深色或浅色配色方案偏好调整其样式,这种选择已开始出现在 WindowsmacOSAndroid 等操作系统中。例如,Bugzilla 使用 prefers-color-scheme 来触发 全新的深色主题,前提是用户已设置该偏好。

A screenshot of Bugzilla showing both light and dark themes

prefers-color-scheme 媒体特性目前在 Firefox 和 Safari 中受支持,预计 Chrome 将在 今年晚些时候 支持。

此外,现在支持 revert 关键字,从而可以将一个或多个 CSS 属性值还原为用户代理的默认样式 (如果设置了自定义用户样式表,则为自定义用户样式表) 中指定的原始值。在 级联和继承级别 4 中定义,revert 也受 Safari 支持。

WebRender 稳定版发布

近四年来,我们一直在为 Firefox 开发 新的渲染架构,目标是更好地利用现代图形硬件。今天,我们开始 逐步为 具有合格硬件的 Windows 10 用户启用 WebRender。这是 WebRender 首次在 Firefox 的 Nightly 和 Beta 版本之外启用,我们希望在未来的版本中扩展支持的平台。

A drawing of a computer chip with 4 CPU cores and a GPU

您可以在整个网站以最大 FPS 运行:WebRender 如何消除卡顿 中了解更多有关 WebRender 的信息。

功能更强大的 DevTools

Firefox 67 和 68 开发者版 为 Firefox 的 JavaScript 调试器带来了巨大的改进。发现更快的加载时间、对源地图的惊人支持、更可预测的断点、全新的日志点等等。

The DevTools Debugger inspecting an application that has spawned several WebWorker threads

我们已在他们自己的文章中收集了调试器改进:Firefox DevTools 中更快、更智能的 JavaScript 调试

除了调试器之外,Web 控制台还进行了许多更新,包括 增强的键盘可访问性 和支持将模块导入到当前页面。

我们还 删除或弃用 了几个很少使用和实验性的工具,包括画布调试器、着色器编辑器、Web 音频检查器和 WebIDE。

浏览器功能

并排配置文件

Firefox 现在默认使用 每个安装版本不同的配置文件,让您比以往更轻松地并排运行多个 Firefox 副本。

The macOS dock showing Firefox, Firefox Developer Edition, and Firefox Nightly all running simultaneously

此外,如果尝试使用旧版本的 Firefox 打开较新的配置文件,浏览器会发出警告,因为这种不匹配有时会导致数据丢失。可以通过新的 -allow-downgrade 命令行参数绕过此保护。

增强的隐私控制

Firefox 67 通过新的内容阻止选项更好地保护您的在线隐私,以避免已知的加密货币挖掘者和指纹识别器。

Screenshot of the new Content Blocking options: Cryptominer and Fingerprinter blocking您还可以更好地控制扩展程序,可以 阻止它们在私密浏览窗口中运行

Screenshot of uBlock Origin's settings with a banner reading "Allowed in Private Windows"这是 Firefox 67 中所有新安装的扩展程序的默认设置,但您之前安装的扩展程序默认情况下会获得权限。您可以在访问 about:addons 时根据每个扩展程序进行调整。

更轻松地访问 Firefox 帐户和保存的密码

今年,我们一直在努力使 Firefox 帐户更实用且更易于发现,首先是在浏览器工具栏中添加新的 默认图标

Screenshot of the new Firefox Accounts toolbar button and its associated menu

新图标指示您是否已登录 Firefox 帐户,并让您轻松执行发送标签到其他设备或手动触发同步等操作。与其他工具栏按钮一样,您可以根据自己的喜好自由移动或隐藏 Firefox 帐户按钮。

查看 对 Firefox 内置密码管理器进行的众多改进,包括更快地访问保存的凭据列表。您可以点击主菜单中的“登录和密码”项目,也可以点击登录自动填充弹出窗口中的“查看保存的登录”按钮。

Screenshots of the View Saved Logins popup during autocomplete, and the Logins and Passwords item in the main menu

如果您需要在正常的自动填充工作流程之外查找或编辑登录信息,这将特别有用。而且,如果您使用 Firefox 同步,则可以使用适用于 Android 或 iOS 的 Firefox Lockbox 应用程序访问保存的密码。

Web 平台功能

支持旧版 FIDO U2F API

我们已启用 旧版 FIDO U2F 支持,以提高与尚未升级到基于标准的继任者 WebAuthn 的网站的向后兼容性。

这些 API 使网站能够使用强健的硬件支持的身份验证机制 (如 USB 安全密钥Windows Hello) 对用户进行身份验证。

Windows、Linux 和 macOS 上的 AV1

Firefox 现在支持 AV1 (一种 下一代视频编解码器),适用于所有主要的桌面平台。此外,这些平台上的回放现在由 dav1d 提供支持,dav1d 是由 VideoLAN 和 FFmpeg 社区开发的 更快、更高效的 AV1 解码器。

JavaScript:String.prototype.matchAll() 和动态导入

Firefox 加入 Chrome,支持 matchAll() 字符串原型方法,该方法采用正则表达式并返回所有匹配文本的迭代器,包括捕获组。

现在可以使用 import() 函数动态加载 JavaScript 模块,类似于静态导入语句的工作方式。现在可以根据条件或响应用户操作加载模块,尽管此类导入对于使用静态分析进行优化 (如 树摇动) 的构建工具来说更难理解。

更多精彩内容等你发现!

此版本包含此处未涵盖的许多其他修复和增强功能,以及更多即将推出的功能。还在等什么?立即下载 Firefox 67 并告诉我们您的想法!

关于 Dan Callahan

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

更多 Dan Callahan 的文章…


20 条评论

  1. rugk

    是的,prefers-color-scheme 真的很棒!

    我甚至还为 Firefox 做了一个附加组件,你可以用它直接在浏览器中切换深色模式(不仅仅是在操作系统级别):https://addons.mozilla.org/firefox/addon/dark-mode-website-switcher/?src=external-moz

    2019 年 5 月 21 日 上午 09:45

  2. Wellington Torrejais da SIlva

    很棒的功能!我喜欢它。谢谢

    2019 年 5 月 21 日 下午 13:33

  3. PhilippeVay

    这些改进真是太棒了,祝贺 Mozilla!

    不过,“增强隐私控制”的配置对我来说有点奇怪:有一个“严格”选项,“阻止 Firefox 检测到的所有跟踪器”(强调是我加的,从法语翻译而来),然后有一个“自定义”选项,有 4 个复选框,其中 2 个已经勾选(我之前启用了“严格”选项)。
    但是“挖矿者”和“指纹识别器”没有勾选,我认为它们应该属于“严格”选项的一部分。

    2019 年 5 月 22 日 上午 08:33

    1. Dan Callahan

      感谢你的信息!看起来那个标签的措辞可以改进。目前的计划是从 Firefox 68 开始,默认启用“挖矿者”和“指纹识别器”阻止功能,作为“严格”预设的一部分。

      由于这些类别是 Firefox 67 的新功能,我们想从选择加入开始。当我们对阻止列表有信心时,将在其他情况下默认启用它们。

      2019 年 5 月 25 日 上午 03:31

  4. Brian Kuss

    Firefox 67 没有使用我的默认主页打开。URL 没有出现在框中。但是,附加组件“新标签页主页”继续在我的默认主页打开。

    我删除并重新加载了 Firefox,以防万一!!!

    2019 年 5 月 23 日 上午 05:03

    1. Dan Callahan

      感谢你的报告。你介意提交一个 bug吗?

      2019 年 5 月 25 日 上午 03:33

  5. J Redhead

    > import() 函数
    下巴都惊掉了。
    这真的太令人兴奋了!

    不过,我有一个问题:Firefox 是如何确定一个标签是否“未被使用”的?
    我曾经在 Chrome 中开始了一个非常大的 Google Drive 下载,然后打开了几张 Twitter 标签…自然,它默默地卸载了 Google Drive 页面 ><

    2019 年 5 月 23 日 下午 18:07

    1. Dan Callahan

      目前,发布说明中的“挂起未使用的标签”项目专门指的是Bug 675539,当系统的可用内存 + 页面文件空间低于 384 MB 时会触发它。当卸载的标签被重新激活时,该状态(表单数据等)会恢复,但像正在进行的上传之类的东西可能会丢失。

      要查看这一切是如何工作的,请查看 AvailableMemoryTracker.cpp 第 53-67 行 中定义的常量以及 第 214-215 行 上的条件语句。

      每当触发 memory-pressure 事件时,TabUnloader.jsm 会卸载最近加载的标签,从没有播放声音的标签开始,然后继续播放声音的标签,尽可能保留固定标签。浏览器的其他部分也会对该事件做出响应,释放字体缓存等,因此内存节省并不需要全部来自卸载标签(并且可以通过在 about:config 中调整 browser.tabs.unloadOnLowMemory 来禁用标签卸载)。

      目标是优雅地处理内存,以避免由操作系统引起的内存不足崩溃(参见Bug 1529556)。

      2019 年 5 月 24 日 上午 02:33

      1. J Redhead

        > 标签卸载可以通过在 about:config 中调整 browser.tabs.unloadOnLowMemory 来禁用
        这就是我使用 Firefox 的原因 :)

        无论如何,感谢你非常详细的解释。你成功地安抚了我,所以我认为我会将标签卸载保留在默认状态,看看是否会遇到什么问题。

        2019 年 5 月 26 日 上午 00:42

  6. John A

    作为一个用户,而不是一个现任技术人员 -
    我在 Win 10/64 上有三个独立的用户配置文件。FF 67 丢失了所有者登录的书签和第二个管理员用户的书签。但是,我有一个第三个用户,是在后来添加的,他们的书签保留了下来。
    这三个用户都显示了不同的 FF 初始屏幕视图。

    此外,FF 被 Win 10 阻止成为默认浏览器,对于用户 1(所有者)和用户 2 来说,但是对于用户 3 来说,它是允许的。

    还有一些其他 Windows 7 和 10 的怪癖,使第三个用户的设置与其他两个用户不同。

    2019 年 5 月 23 日 下午 22:24

    1. Dan Callahan

      很抱歉你遇到了这种情况。你的数据应该都还在,而且很安全。

      造成这种情况的一个原因可能是,你将 Firefox 67 安装在了与以前版本的 Firefox 不同的位置,或者你曾经使用过 Firefox Beta 或 Firefox Nightly 以及同一个用户配置文件数据。请在 about:profiles 中查看是否有其他配置文件。如果有,尝试点击“在新浏览器中启动配置文件”按钮,看看它是否包含了你的所有数据。如果是,请返回并点击“设置为默认配置文件”按钮,你就可以正常使用了。

      我们在 Reddit 上 看到过一些类似的案例,并在Bug 1553526 中跟踪了它们,如果你愿意,可以分享你的经历。

      2019 年 5 月 24 日 上午 03:18

  7. Mohamed

    当然,有了很大的改进!非常感谢你们的努力!
    我想问一下,我希望能看到 Firefox 中的一项功能,就是在安装了全新的 Firefox 并启动同步之后,加载书签的收藏夹图标。这是未来计划的一部分吗?

    2019 年 5 月 24 日 上午 00:34

    1. Dan Callahan

      Ho Mohamed,同步后加载收藏夹图标是在 (Bug 428378) 中跟踪的,但事实证明,在修复它之前,我们必须解决围绕隐私和安全的重大问题。

      例如,如果我们在同步后检索所有图标,我们将不得不连接到你所收藏的所有域,这可能会将你的浏览历史记录的大部分泄露给任何监视网络的人。这对于在工作场所或在监控和防火墙比较严格的国家/地区的用户来说,尤其成问题。

      编辑:在 Reddit 上,一位用户推荐了Checkmarks 扩展,它可以加载你所有的书签,从而触发收藏夹图标更新。这对你来说可能是一个不错的解决方案。

      2019 年 5 月 24 日 上午 02:49

  8. Giovanni Barrantes

    我昨天和一些同步标签的历史记录丢失了,因为 Firefox 昨天更新了。

    2019 年 5 月 24 日 上午 08:56

    1. Dan Callahan

      请查看这篇文章,看看它是否与你遇到的情况匹配,以及解决方法(更改默认配置文件)是否对你有用?

      2019 年 5 月 25 日 上午 03:41

  9. Shawn

    我在这次更新中发现了“firefox.color”。我对使用这项功能很感兴趣,但我只加载了几次页面(在数百次尝试中)。

    2019 年 5 月 26 日 上午 03:48

    1. Dan Callahan

      我很高兴你对Firefox Color 感兴趣,也很抱歉你遇到问题。对我来说,它似乎工作正常,所以问题可能出在你这边。你可以在不同的计算机或不同的互联网连接上访问它吗?

      2019 年 5 月 28 日 上午 04:01

  10. A_Ajr

    移除对 userChrome.css 和 userContent.css 的访问权限,这是一个非常非常不酷的举动!你在毁掉浏览器!

    2019 年 5 月 26 日 上午 07:51

    1. Dan Callahan

      这些旧版自定义项不受支持,检查它们会减慢浏览器启动速度。但是,我们并没有移除访问权限;它们仍然可供想要使用它们的使用者使用。具体来说,从 Firefox 69 开始,你需要将 toolkit.legacyUserProfileCustomizations.stylesheets 切换到启用这些自定义项,但为了避免破坏现有使用者,如果你在配置文件中拥有这些文件,Firefox 68 会自动为你设置该首选项。

      2019 年 5 月 28 日 上午 04:00

  11. Anthony

    Firefox 67.0 更新似乎安装了一个额外的配置文件作为默认配置文件,导致我的书签无法访问。
    我能够按照以下步骤恢复丢失的书签
    从丢失书签的 Firefox 版本中
    (1) 选择 Alt/帮助/故障排除信息
    (2) 然后是应用程序基础/配置文件(about:profiles)。这将显示两个配置文件:例如,xxxxxx.default-release 和 yyyyyyy.default
    (3) 选择“设置为默认配置文件”以更改默认配置文件。

    2019 年 5 月 26 日 上午 09:43

本文的评论已关闭。