文章
-
在 Firefox 中添加 prefers-contrast
当我们谈论页面对比度或网页元素之间的对比度时,我们是在评估颜色选择如何影响可读性。对于视力较弱的访问者来说,对比度低或不足的网页可能难以使用。在本文中,我们将逐步介绍 Firefox 中
prefers-contrast
媒体查询的设计和实现,并探讨其令人兴奋和重要的原因。 -
保护 Gamepad API
作为 Mozilla 持续改进 Web 平台隐私和安全性的承诺的一部分,在未来几个月,我们将对 Gamepad API 进行一些更改。从 Firefox 81 开始,Gamepad API 将限制在所谓的“安全上下文”中使用。
-
Firefox 78 新功能:开发者工具改进、新的正则表达式引擎和丰富的 Web 平台更新
Firefox 78 推出了新的正则表达式引擎、ECMAScript Intl API 更新、新的 CSS 选择器、增强的 WebAssembly 支持、一些重要的 WebExtensions API 更新以及 Firefox 开发者工具的许多改进。
-
OKdo 推出的 Mozilla WebThings 网关套件
Mozilla WebThings 网关是一个开源软件发行版,专注于隐私、安全性和互操作性。它提供了一个基于 Web 的用户界面,用于通过 Web 监控和控制智能家居设备。OKdo 是一家英国供应商,为爱好者、教育工作者和企业家提供物联网技术,它宣布发布 WebThings 网关套件,其中包含您在几分钟内启动和运行网关所需的一切。
-
欢迎 Safari 加入 WebExtensions 社区
浏览器扩展让用户能够控制他们如何体验 Web。本周,Apple 宣布 Safari 将采用类似于 Firefox 的 WebExtensions API 的基于 Web 的浏览器扩展 API,从而可以轻松构建一次并在多个浏览器中运行。开发人员可以开始使用 Firefox 扩展工作坊或查阅 MDN 上的全面文档以获取 API 覆盖范围的详细信息。
-
编译器编译器:关于 JavaScript 引擎工作的 Twitch 系列
Firefox SpiderMonkey 团队的 JavaScript 工程师 Yulia Startsev 推出了名为“编译器编译器”的新 Twitch 直播。在前三个互动式试播集中,我们深入了解了 JavaScript 规范 ECMA-262 如何在 SpiderMonkey 中实现,方法是阅读规范并在实现中修复问题。
-
推出 MDN Web 文档前端开发人员学习路径
MDN Web 文档学习区域教授现代 Web 开发的基础知识,从 HTML、CSS 和 JavaScript 基础开始。在今年的反馈中,读者要求采用更明确、更有条理的方法。他们要求涵盖当今工作场所广泛使用的客户端工具、框架、转换工具和部署工具。了解来自 MDN 的前端开发人员学习路径。
-
Firefox 77 新功能:开发人员工具改进和 Web 平台更新
我们迎来了 Firefox 的一个新的稳定版本。版本 77 为 Web 开发人员带来了一些新功能。本文仅列出了一些亮点;有关详细信息,请参见以下资源:MDN 上的 Firefox 77 开发人员须知最终用户 Firefox 77 发行说明开发人员工具改进首先来看看版本 77 中最值得关注的开发人员工具改进和补充。若要进一步了解正在进行的工作并提供反馈,请下载 Firefox DevEdition 来抢先体验。JavaScript 调试更快速、更精简大型 Web 应用可能会给 DevTools 带来挑战,因为捆绑、实时重载和依赖项都需要得到快速、正确地处理。在版本 77 中,Firefox 的调试器有了更多本领,让您能够专注于调试。我们经过多个发行版本改进了调试性能,在寻找可动手的高影响力 Bug 错误方面即将达到终点。因此,为了能找到残留的瓶颈,我们积极与社区交流。我们收到了许多详细的报告,实现了诸多性能改进,不仅加快了暂停和分步执行,同时也降低了不同时间点上的内存占用。行之有效的 JavaScript 和 CSS 源映射源映射是这次扩展的组成部分,在性能增强方面功效显著。部分内联源映射在加载时间上提升了 10 倍。但更重要的是,我们加强了更多源映射配置的可靠性。我们解决了解析和映射的回退问题,而这要归功于大家提供的有关生成稍有差错的源映射的报告。总体而言,之前无法加载您的原始 CSS 和 JavaScript/TypeScript/etc 代码的项目如今应该可以正常运作了。在选定堆栈帧内分步执行 JavaScript 分步执行是调试的一个重要部分,但不够直观明了。在进入和退出函数以及在库和自有代码之间移动时,您可能很容易迷失方向并超出范围。现在,调试器可以在分步执行时遵从当前选定的堆栈。当您进入某个函数调用后,或者在堆栈深处的某个库方法上暂停时,这特别有用。只需在调用堆栈中选择正确的函数,即可跳转到当前暂停的行并从那里继续分步执行。请翻译:Alt 文本:前往调用堆栈并在相应函数中继续分步执行希望这能让代码分步执行变得更加直观明了,并降低您遗漏重要代码行的几率。Network 和 Debugger 的溢出设置为了造就更简洁的工具栏,Network 和 Debugger 沿用与 Console 相同的范例,将现有和新的复选框组合成一个全新的设置菜单。这不仅让您一手掌握“Disable JavaScript”等功能强大的选项,也给未来更强大的选项留出余地。请翻译:Alt 文本:Network 和 Debugger 工具栏中的溢出设置菜单。暂停属性读写了解状态变化是个问题,通常通过控制台调试日志来调查。观察点(Watchpoint)是 Firefox 72 中引入的功能,可以在脚本读取或写入属性的过程中暂停执行。暂停之后,右键单击 Scopes 面板中的属性即可关联它们。请翻译:Alt 文本:右键单击 Debugger 的 Scopes 中的对象属性以在 get/set 上中断感谢 Janelle deMent 的贡献,组合了 get/set 的新选项使观察点变得更易使用,任何脚本引用皆可触发暂停。改进的 Network 数据预览Network 详情面板在每次发行时都有进步,如今已得到重新架构。旧界面中存在事件处理 Bug 错误,使选择和复制文本容易出错。我们不仅解决了这一点,也提升了大型数据输入的性能。这是 Network 面板中重要界面清理工作的一部分,我们已就此通过 @FirefoxDevTools Twitter 和 Mozilla 的 Matrix 社区向社区发出了问卷调查。欢迎您分享您的见解。您也可下载 Firefox DevEdition,抢先体验 Network 面板边栏的更多新设计。Web 平台更新Firefox 77 支持多项新的 Web 平台功能。String#replaceAllFirefox 67 引入了 String#matchAll,这是一种更便于迭代 regex 结果匹配项的方式。在 Firefox 77 中,我们让便捷程度更进一步:通过 String#replaceAll 来帮助替换字符串的所有实例;这或许是您长久以来梦寐以求的运算(感谢 StackOverflow 做出的巨大贡献!)。在过去,若要将所有 cats 替换成 dogs,必须要使用全局正则表达式 .replace(/cats/g, 'dogs');或者,也可使用 split 和 join:.split('cats').join('dogs');现在,因为有了 String#replaceAll,这变得更加易读了:.replaceAll('cats', 'dogs');IndexedDB 光标请求Firefox 77 将 IDBCursor 所源自的请求作为光标上的属性来公开。这是一种精妙的改进,使得“升级”数据库功能的 wrapper 函数的编写变得更加轻松。在过去,如果要对光标进行这种升级,必须要传递光标对象和它所源自的请求对象,因为前者依赖于后者。有了这一改进,现在只需要传递光标对象,因为请求已在光标上可用。Firefox 77 中的扩展:请求变少,权限更多从 Firefox […]
-
Firefox 77 新功能:开发人员工具改进与 Web 平台更新
全新 Firefox 稳定版正式推出!第 77 版为开发人员提供了更多新功能。 这篇文章包含新版本中的精彩亮点,想了解完整资讯,请浏览以下网页: MDN Firefox 77 开发人员专区 Firefox 77 一般用户更新资讯 开发者工具改善 让我们先来看看第 77 版开发人员工具中最有趣的优化与创新。如果你想使用更多开发中的新功能,并提供建议,请安装 Firefox 开发者版本即可抢先体验。 更快、更有效的 JavaScript 除错 大型 Web 应用程式对开发人员工具来说无疑是一项艰难的挑战,因为需要快速而正确地处理捆绑(bundling)、实时重载(live reload)和相依性。 Firefox 77 的 Debugger 学了一些新技巧,让你可以因此更加专注于除错。 在先前的许多版本中,我们持续致力於提升除错性能,也几乎除光了影响层面最严重、可处理的问题。为了找出剩餘的瓶颈,我们一直积极地和社群保持联繫。得益於我们收到的许多详细回报,我们終於能够改善除错的效率,不仅提升暂停和步进速度,也减少记忆体长期用量。 就是会动的 JavaScript 和 CSS Source Map Source Map 也包含在此次社群访查中,在新版本速度表现也有所提升。些行内的 Source Map 载入的时间加快了 10 倍。更重要的是,我们改善了不同 Source Map 設定的可靠性。感謝大家回報各種含輕微錯誤的 Source Map 案例,我们因此得以调整了解析和映射的 fallback 机制。整体而言,先前有些无法载入的 CSS […]
-
Firefox 77新功能:开发工具改进和Web平台更新
全新Firefox稳定版现已推出。版本77为Web开发人员带来了诸多新功能。 本文只是归纳了一些亮点;如需了解详细信息,请参见以下资源: MDN上的Firefox 77开发人员须知 Firefox 77最终用户发行说明 开发人员工具改进 首先来看看版本77中最值得关注的开发人员工具改进和补充。若要进一步了解进行中的工作并提供反馈,请下载Firefox DevEdition来抢先体验。 JavaScript调试更快速、更精简 大型Web应用可能会给DevTools带来挑战,因为捆绑、实时重载和依赖项都需要得到快速、正确地处理。在版本77中,Firefox的调试器有了更多本领,让您能够专注于调试。 我们经过多个发行版本改进了调试性能,在寻找可动手的高影响力Bug错误方面即将达到终点。因此,为了能找到残留的瓶颈,我们积极与社区交流。我们收到了许多详细的报告,实现了诸多性能改进,不仅加快了暂停和分步执行,同时也降低了不同时间点上的内存占用。 行之有效的JavaScript和CSS源映射 源映射是这次扩展的组成部分,在性能增强方面功效显著。部分内联源映射在加载时间上提升了10倍。但更重要的是,我们加强了更多源映射配置的可靠性。我们解决了解析和映射的回退问题,而这要归功于大家提供的有关生成稍有差错的源映射的报告。总体而言,之前无法加载您的原始CSS和JavaScript/TypeScript/etc代码的项目如今应该可以正常运作了。 在选定堆栈帧内分步执行JavaScript 分步执行是调试的一个重要部分,但不够直观明了。在进入和退出函数以及在库和自有代码之间移动时,您可能很容易迷失方向并超出范围。 现在,调试器可以在分步执行时遵从当前选定的堆栈。当您进入某个函数调用后,或者在堆栈深处的某个库方法上暂停时,这特别有用。只需在调用堆栈中选择正确的函数,即可跳转到当前暂停的行并从那里继续分步执行。 请翻译:Alt文本:前往调用堆栈并在相应函数中继续分步执行 希望这能让代码分步执行变得更加直观明了,并降低您遗漏重要代码行的几率。 Network和Debugger的溢出设置 为了造就更简洁的工具栏,Network和Debugger沿用与Console相同的范例,将现有和新的复选框组合成一个全新的设置菜单。这不仅让您一手掌握“Disable JavaScript”等功能强大的选项,也给未来更强大的选项留出余地。 请翻译:Alt文本:Network和Debugger工具栏中的溢出设置菜单。 暂停属性读写 了解状态变化是个问题,通常通过控制台调试日志来调查。观察点(Watchpoint)是Firefox 72中引入的功能,可以在脚本读取或写入属性的过程中暂停执行。暂停之后,右键单击Scopes面板中的属性即可关联它们。 请翻译:Alt文本:右键单击Debugger的Scopes中的对象属性以在get/set上中断 感谢Janelle deMent的贡献,组合了get/set的新选项使观察点变得更易使用,任何脚本引用皆可触发暂停。 改进的Network数据预览 Network详情面板在每次发行时都有进步,如今已得到重新架构。旧界面中存在事件处理Bug错误,使选择和复制文本容易出错。我们不仅解决了这一点,也提升了大型数据输入的性能。 这是Network面板中重要界面清理工作的一部分,我们已就此通过@FirefoxDevTools Twitter和Mozilla的Matrix社区向社区发出了问卷调查。欢迎您分享您的见解。您也可下载Firefox DevEdition,抢先体验Network面板边栏的更多新设计。 Web平台更新 Firefox 77支持多项新的Web平台功能。 String#replaceAll Firefox 67引入了String#matchAll,这是一种更便于迭代regex结果匹配项的方式。在Firefox 77中,我们让便捷程度更进一步:通过String#replaceAll来帮助替换字符串的所有实例;这或许是您长久以来梦寐以求的运算(感谢StackOverflow做出的巨大贡献!)。 在过去,若要将所有cats替换成dogs,必须要使用全局正则表达式 .replace(/cats/g, 'dogs'); 或者,也可使用split和join: .split('cats').join('dogs'); 现在,因为有了String#replaceAll,这变得更加易读了: .replaceAll('cats', 'dogs'); IndexedDB光标请求 Firefox 77将IDBCursor所源自的请求作为光标上的属性来公开。这是一种精妙的改进,使得“升级”数据库功能的wrapper函数的编写变得更加轻松。在过去,如果要对光标进行这种升级,必须要传递光标对象和它所源自的请求对象,因为前者依赖于后者。有了这一改进,现在只需要传递光标对象,因为请求已在光标上可用。 Firefox 77中的扩展:请求变少,权限更多 从Firefox […]