Firefox 稳定版发布了,版本 77 为 Web 开发者带来了多项新功能。
本文仅介绍一些重要功能。如需了解所有细节,请查看以下内容:
开发者工具改进
让我们首先看看版本 77 开发工具中一些最有趣的新增功能和改进。如果您想了解更多有关此工作的信息并提供反馈,可以下载 Firefox Developer Edition 来抢先体验。
更快速、更敏捷的 JavaScript 调试
大型 Web 应用程序可能会对开发工具提出挑战,因为它们需要快速、正确地处理程序包、实时重新加载和依赖项。在版本 77 中,Firefox 调试器学习了一些新技巧,可以帮助您专注于调试工作。
经过多个版本对调试性能的改进,我们已经解决了所有高影响力错误。从那时起,为了找出剩下的瓶颈,我们一直积极与社区交流。由于收到了许多详细的报告,我们得以改进性能,不仅可以加快断点和单步执行速度,而且可以随着时间的推移减少内存使用量。
正常运行的 JavaScript 和 CSS 源映射
源映射已纳入此改进工作,并在性能提升方面也得到了关注。在某些情况下,在线加载源映射的速度提高了 10 倍。但更重要的是,我们改进了对更多源映射配置的可靠性。由于您报告了某些源映射生成略微不正确的情况,我们得以调整用于分析和映射的值。总的来说,您应该看到一些以前无法加载原始 CSS 和/或 JavaScript/TypeScript 等代码的项目现在可以正常运行了。
在选定堆栈帧中单步执行 JavaScript
单步执行是调试的基本部分,但可能并不直观。在进出函数时,或者在库代码和您自己的代码之间跳跃时,很容易迷失方向并走错步。
现在,调试器在单步执行时会遵循当前选定的堆栈。当进入函数调用或在堆栈中更低位置的库方法上暂停时,这很有用。只需在调用堆栈中选择正确的函数,即可跳到当前暂停的行,并从那里继续执行。
我们希望这能使代码执行的单步执行更加直观,减少您错过重要行的可能性。
网络和调试器的溢出设置
为了创建更简洁的工具栏,网络和调试器面板现在效仿控制台,将现有和新的复选框组合到一个新的设置菜单中。这使得一些强大的选项(如“禁用 JavaScript”)触手可及,并为将来添加更多选项留下了空间。
在读写属性时暂停
理解状态更改通常是调试期间通过控制台日志进行调查的一个问题。 监视点 与 Firefox 72 一起推出,可以在脚本读取或写入属性时暂停执行。暂停后,右键单击作用域面板中的属性即可附加它们。
贡献者 Janelle deMent 通过一项新选项简化了监视点的使用,该选项将 get 和 set 结合在一起,以便对脚本的任何引用都会触发暂停。
网络数据预览改进
每个新版本都朝着重新组织网络详细信息面板迈进了一步。旧的界面在处理事件时存在错误,导致选择和复制文本变得过于繁琐。在此过程中,我们还改进了对较大型数据条目的性能。
这是对网络面板进行更广泛的界面清理的一部分,我们一直在向社区征求意见, 通过 Twitter 上的 @FirefoxDevTools 以及 Mozilla 的 Matrix 社区。如果您希望自己的声音得到重视,请加入我们。网络面板侧边栏的更多重新设计方面可以在 Firefox Developer Edition 中抢先体验。
Web 平台更新
Firefox 77 的 Web 平台支持一些新功能。
String#replaceAll
Firefox 67 引入了 String#matchAll
,这是一种更方便的方式来迭代 正则表达式 结果的匹配项。在 Firefox 77 中,我们添加了更多便利性: String#replaceAll
有助于替换字符串的所有出现,这可能是在过去您搜索过无数次的那些操作之一(感谢 StackOverflow 的帮助!)。
以前,如果您想将所有猫替换成狗,您需要使用全局正则表达式。
.replace(/cats/g, 'dogs');
.split('cats').join('dogs');
现在,借助 String#replaceAll
,这变得更加可读。
.replaceAll('cats', 'dogs');
IndexedDB 光标请求
Firefox 77 公开了 IDBCursor 是否作为 该光标的属性 生成的请求。这是一个很好的改进,它使编写诸如“增强”数据库功能的包装函数之类的东西变得更加容易。以前,要对光标进行此类增强,您需要传递光标对象以及它起源的请求对象,因为前者依赖于后者。通过此更改,您现在只需要传递光标对象,因为请求在其中可用。
Firefox 77 扩展程序:更少的权限请求,等等
从 Firefox 57 开始,用户在安装扩展程序或在更新期间添加新权限时,会看到扩展程序想要访问的权限。这些请求的频率可能会令人不知所措,并且在扩展程序更新期间不接受新的权限请求可能会使用户停留在旧版本上。我们通过将更多权限提供为 optional_permissions
来简化扩展程序开发人员避免触发过多请求的过程。可选权限不会在安装时或在扩展程序更新期间添加时触发权限请求,还可以 在运行时请求,以便用户了解在特定上下文中请求了哪些权限。
请访问 插件博客,了解有关 Firefox 77 中扩展程序的更多更新!
总结
以上就是 Firefox 77 的一些重要功能!请尝试使用这些新功能,并享受使用体验!与往常一样,请随时在评论中分享您的反馈并提出问题。
关于 Florian Scholz
Florian 是 MDN Web 文档的内容主管,他撰写有关 Web 平台技术的文章并研究浏览器兼容性数据。他住在德国不来梅。
关于 Harald Kirschner (digitarald)
Harald "digitarald" Kirschner 是 Firefox 开发者体验和工具的产品经理 - 他致力于帮助创作者编写、设计和维护一个对所有人开放且可访问的 Web。他在 Mozilla 工作了 8 年,在性能、Web API、移动设备、可安装 Web 应用程序、数据可视化和开发者外联项目中积累了技能。