Firefox 69 开发者版本发布说明
本文提供 Firefox 69 中将影响开发者的变更信息。Firefox 69 于 2019 年 9 月 3 日发布。
Web 开发人员的变更
开发者工具
调试器
- 事件监听器断点让你可以诊断页面响应浏览器事件执行的代码。你可以选择特定的类型,如
click或keydown,或整个事件类别,如所有鼠标输入事件。(Firefox bug 1526082)。 - 现在可以通过调试器源列表窗格中显示的脚本,通过“下载文件”上下文菜单选项保存脚本(Firefox bug 888161)。
- 在调试器的源列表窗格中,加载的扩展程序会显示其名称,而不仅仅是它们的 UUID(Firefox bug 1486416),这使得查找要调试的扩展程序代码变得更加容易。
- 通过懒加载脚本,调试器现在加载速度显著加快(Firefox bug 1527488)。
控制台
- 来自跟踪保护错误、CSP 错误和CORS 错误的浏览器控制台消息会自动分组,以减少重复阻止的资源和存储访问造成的干扰(Firefox bug 1522396)。
- 控制台中所有可见日志都可以通过新的“导出可见消息到”上下文菜单项保存到文件或复制到剪贴板进行共享(Firefox bug 1517728)。
- 控制台的工具栏现在可以响应式地将其高度减小为一行,以节省垂直空间(Firefox bug 972530)。
- 现在可以在控制台中隐藏来自内容的消息,以专注于 Firefox UI 的日志(Firefox bug 1523842)。
网络
- 由于 CSP 或 混合内容而被阻止的资源现在显示在网络面板中,并附有详细原因(Firefox bug 1556451)。
- 网络面板中现在有一个新的可选“URL”列,可以启用以显示资源的完整 URL(Firefox bug 1341155)。
检查器
- 当你在页面检查器中悬停在一个元素上时,出现的 infobar 现在包括一个元素是 flex 容器或 flex 项目的事实(Firefox bug 1521188)。
- 当检查包含带有子网格的网格的页面时,只要显示子网格的线条,就会显示父网格的覆盖线;如果父网格的覆盖复选框未选中,则其线条是半透明的(Firefox bug 1550519)。
远程调试
- 对于我们的移动 Web 开发者,我们已将远程调试从旧的 WebIDE 迁移到重新设计的 about:debugging,从而显著改善了通过 USB 在远程设备上调试 GeckoView 的体验(Firefox bug 1462208)。
通用
- 开发工具面板的顺序已更改以反映受欢迎程度(Firefox bug 1558630)。
HTML
- 为了更严格地与规范保持一致,与
<track>元素关联的文本轨道不再加载包含文本提示的 WebVTT 文件,如果该元素是在其默认的disabledmode下创建的。要在mode为disabled时访问或操作提示,请将mode更改为started或hidden;这将触发 WebVTT 数据的加载(Firefox bug 1550633)。
移除
- HTML
<keygen>元素已从 Firefox 中移除。它在一段时间前已被弃用,其目的通常已被其他技术取代(Firefox bug 1315460)。
CSS
- 我们实现了
white-space属性的break-spaces值(Firefox bug 1351432)。 - SVG 几何属性(如
width和height)现在也可以定义为 CSS 属性(Firefox bug 1383650)。 ::cue选择器——用于样式化 WebVTT 显示的字幕(“提示”)——现在根据规范强制执行在提示中可以使用哪些 CSS 属性的限制(Firefox bug 1321488)。- 我们已根据规范限制了可应用于
::marker的属性(Firefox bug 1552578)。 - 已实现
overflow-block和overflow-inline属性(Firefox bug 1470695)。 - 我们添加了在使用 CSS 特性查询(
@supports)时,通过selector()方法测试选择器支持的能力(Firefox bug 1513643)。 user-select属性——它指定用户是否能够选择受影响元素中的文本——已取消前缀(Firefox bug 1492739)。- 我们为立陶宛语实现了本地特定的大小写行为(Firefox bug 1322992),如本例所示。
- 我们已经实现了 CSS Text 的
line-break属性(Firefox bug 1011369 和 Firefox bug 1531715)。 - 已实现
contain属性——它允许开发者定义一个元素及其内容在很大程度上独立于 DOM 树的其余部分(Firefox bug 1487493)。
SVG
- 我们添加了对 gzip 压缩的 SVG-in-OpenType 的支持(Firefox bug 1359240)。
- 已实现
SVGGeometryElement.isPointInFill()和SVGGeometryElement.isPointInStroke()方法(Firefox bug 1325319)。
JavaScript
- 公共类字段默认启用(Firefox bug 1555464)。另请参阅类字段以获取更多信息。
- Promise 拒绝事件
unhandledrejection和rejectionhandled现在默认启用(Firefox bug 1362272)。要了解这些如何工作,请参阅Promise 拒绝事件。
HTTP
- HTTP 头部
Access-Control-Expose-Headers、Access-Control-Allow-Methods和Access-Control-Allow-Headers现在接受不带凭证的请求的通配符值*(Firefox bug 1309358)。此更改也已提升到 Firefox 68 ESR。
API
新 API
- Resize Observer API 默认支持(Firefox bug 1543839)。
- 微任务 API(
Window.queueMicrotask()和WorkerGlobalScope.queueMicrotask())已实现(Firefox bug 1480236)。
DOM
DOMMatrix、DOMPoint和相关对象现在在 worker 中受支持(Firefox bug 1420580)。- 为了更好地符合规范,
pageX和pageY属性已从UIEvent移动到MouseEvent(Firefox bug 1178763)。这些属性不再暴露给CompositionEvent、FocusEvent、InputEvent、KeyboardEvent和TouchEvent接口,它们都继承自UIEvent。 - 已实现
Blob.text()、Blob.arrayBuffer()和Blob.stream()方法(Firefox bug 1557121)。 - 已实现
DOMMatrixReadOnly.fromMatrix()(Firefox bug 1560462)。 - 我们现在支持
DOMMatrixReadOnly.scale()方法的六参数版本(Firefox bug 1397945)。 - 根据规范,
DOMMatrixReadOnly.translate()、DOMMatrixReadOnly.skewX()和DOMMatrixReadOnly.skewY()的参数现在都是可选的(Firefox bug 1397949)。 Navigator.userAgent、Navigator.platform和Navigator.oscpu属性不再显示用户是否在 64 位操作系统上运行 32 位 Firefox(Firefox bug 1559747)。它们现在显示Linux x86_64而不是Linux i686 on x86_64,以及Win64而不是WOW64。HTMLDocument的剩余方法已移至Document。在大多数情况下,这对您的工作应该没有明显影响。特别是,close()、open()和write()方法已移动。各种编辑器相关方法,包括execCommand()以及各种属性也已移动(Firefox bug 1549560)。- 我们已经实现了
AbstractRange和StaticRange(Firefox bug 1444847)。
媒体、Web Audio 和 WebRTC
- 为了提高用户安全性,并与最新版本的 媒体捕获和流 规范保持一致,如果上下文不安全,则不再提供
navigator.mediaDevices属性。要使用getUserMedia()、getDisplayMedia()、enumerateDevices()等,请确保您的内容使用 HTTPS 加载(Firefox bug 1528031)。 - Web Audio API 的
AudioParam.value属性现在返回当前时间属性的实际值,考虑到所有计划或渐变的数值更改。以前,Firefox 只返回最近显式设置的值(通过使用valuesetter)(Firefox bug 893020)。 - 我们已将
MediaStreamAudioSourceNode更新为使用新的、字典序的轨道排序。以前,轨道排序由各个浏览器决定,甚至可能任意更改。此外,尝试使用没有音轨的流创建MediaStreamAudioSourceNode现在会抛出InvalidStateError异常(Firefox bug 1553215)。 facingMode、deviceId和groupId设置现在作为调用MediaStreamTrack.getSettings()返回的MediaTrackSettings对象的成员包含在内(Firefox bug 1537986)。
移除
DOMMatrix.scaleNonUniformSelf()方法已移除(Firefox bug 1560119)。
WebDriver 符合性 (Marionette)
其他
- Marionette 现在动态处理模态对话框和用户提示的打开和关闭(Firefox bug 1477977),这也意味着将处理多个打开的提示(Firefox bug 1487358)。
- 跟踪保护和 DOM 推送功能现在默认禁用,以避免 DOM 部分被移除以及额外的通知(Firefox bug 1542244)。
- 如果 Firefox 遇到内存不足情况,后台选项卡自动卸载功能现在已禁用——这与在选项卡之间切换时的自动化操作严重冲突(Firefox bug 1553748)。
附加组件开发人员的变更
API 更改
- UserScripts API 现在默认启用。
topSites.get()方法现在有新的可用选项——includePinned和includeSearchShortcuts(Firefox bug 1547669)。
其他更改
- 现在有组策略选项可以拉黑所有扩展,除了白名单中的扩展(Firefox bug 1522823)。