Firefox 68 开发者版本更新说明
本文提供 Firefox 68 中会影响开发者的功能变更信息。Firefox 68 于 2019 年 7 月 9 日发布。
Web 开发人员的变更
开发者工具
浏览器/网络控制台
- 网络控制台现在会显示更多关于 CSS 警告的信息,包括使用该规则的 DOM 元素的节点列表(Firefox bug 1093953)。
- 现在可以使用正则表达式过滤网络控制台中的内容(Firefox bug 1441079)。
- 浏览器控制台现在允许您通过选中或取消选中名为“显示内容消息”的复选框来显示或隐藏来自内容进程的消息(Firefox bug 1260877)。
JavaScript 调试器
- 现在可以通过按下
Shift+Ctrl+F(Windows 或 Linux)或Shift+Cmd+F(macOS)从调试器中搜索当前项目中的所有文件(Firefox bug 1320325)。
网络监视器
- 网络监视器请求列表现在允许您阻止特定 URL(Firefox bug 1151368)。
- 现在可以使用上下文菜单上的重新发送命令,无需编辑方法、URL、参数和标头即可重新发送网络请求(Firefox bug 1422014)。
- 网络监视器标头选项卡的上下文菜单现在允许您以 JSON 格式将全部或部分标头信息复制到剪贴板(Firefox bug 1442249)。
页面检查器
- 页面检查器的规则面板中添加了一个按钮,允许您切换任何打印媒体查询的显示(Firefox bug 1534984)。
- 字体面板现在包含一个滑块来修改
letter-spacing(Firefox bug 1536237)。 - 不支持的 CSS 属性或具有无效值的规则旁边会出现一个警告图标,以帮助您了解某些样式未应用的原因(Firefox bug 1306054)。
存储检查器
- 现在可以通过在存储检查器中选择项目并按退格键来删除本地和会话存储条目(Firefox bug 1522893)。
其他
- 辅助功能检查器现在包含一个新的“检查问题”功能,其中包括许多审计工具,用于突出显示网页上的辅助功能问题。第一个可用的检查是“对比度”,用于突出显示颜色对比度问题。
- 控制 about:debugging 页面上内部扩展(系统附加组件和隐藏扩展)可见性的首选项已从
devtools.aboutdebugging.showSystemAddons更改为devtools.aboutdebugging.showHiddenAddons(Firefox bug 1544372)。 - 响应式设计模式已经重新设计——“设备设置”对话框(设备选择菜单 > 编辑列表...)现在更加直观且易于使用(Firefox bug 1487857)。
移除
- “启用附加组件调试”复选框已从 about:debugging 页面中移除(Firefox bug 1544813)。
HTML
<track>元素(由HTMLTrackElement表示)现在除了TextTrack本身之外,还会收到一个cuechange事件,如果文本轨道包含在媒体元素中(Firefox bug 1548731)。<link>元素再次支持disabled属性,尽管行为有所不同。当disabled设置在<link>元素上并带有rel="stylesheet"时,引用的样式表在页面加载期间不会加载,并且会在disabled属性更改为false或移除时按需加载(Firefox bug 1281135)。
移除
CSS
-
CSS 滚动吸附已更新到规范的最新版本(Firefox bug 1312163)和(Firefox bug 1544136),这包括
scroll-padding属性(Firefox bug 1373832)scroll-margin属性(Firefox bug 1373833)scroll-snap-align属性(Firefox bug 1373835)
-
为了与其他浏览器兼容,已实现
-webkit-line-clamp属性(Firefox bug 866102)。 -
已添加对
::marker伪元素的支持(Firefox bug 205202)以及::marker伪元素的动画(Firefox bug 1538618)。 -
我们将
currentColor更改为计算值(除了color属性)(Firefox bug 760345)。 -
已修复对
ch长度单位的支持,使其现在符合规范(没有 '0' 字形的备用方案,垂直度量)(Firefox bug 282126)。 -
已实现
counter-set属性。(Firefox bug 1518201)。 -
我们现在使用内置的“list-item”计数器实现列表编号;这修复了列表编号错误(Firefox bug 288704)。
-
已为
::part()实现选择器匹配和解析支持(Firefox bug 1545430)和(Firefox bug 1545425)。 -
CSS 变换现在支持间接渲染的事物,例如
<mask>、<marker>、<pattern>、<clipPath>(Firefox bug 1323962)。 -
虽然我们出于兼容性原因保留了各种渐变属性的带前缀版本
linear-gradient()、radial-gradient()和repeating-radial-gradient(),但我们修改了它们的解析方式,使其更像不带前缀的版本。这意味着某些现有样式将无法正常工作。特别是,同时接受角度和位置的复杂语法将不再起作用,并且带前缀的渐变属性的
<side-or-corner>参数中不再需要to关键字。建议您改用标准的不带前缀的渐变属性,因为它们现在已广泛支持(Firefox bug 1547939)。
移除
scroll-snap-coordinate、scroll-snap-destination、scroll-snap-type-x和scroll-snap-type-y已被移除。scroll-snap-type属性已成为长手属性,因此旧的缩写语法(如scroll-snap-type:mandatory)将停止工作。
SVG
无更改。
JavaScript
- 新的
BigInt原始类型默认启用(Firefox bug 1527902)。 - 字符串通用方法已移除(Firefox bug 1222552)。
API
CSS 对象模型 (CSSOM)
- 已将旧版
rules属性以及addRule()和removeRule()方法添加到CSSStyleSheet接口。这些是 Internet Explorer 9 引入的,从未完全淘汰,因此添加它们是为了提高与仍在使用它们的一小部分网站的兼容性(Firefox bug 1545823)。
DOM
- 视觉视口 API 现在已在 Android 上默认启用(Firefox bug 1512813)。将此 API 添加到 Firefox 桌面版本的工作正在 Firefox bug 1551302 中跟踪。
Window功能noreferrer现在受支持;如果指定,新窗口的内容将在不共享主机名、IP 地址、URL 或关于主机设备的其他识别信息的情况下加载(Firefox bug 1527287)。HTMLImageElement上的decode()方法现在已实现。这可用于在将图像添加到 DOM 之前触发图像的加载和解码(Firefox bug 1501794)。XMLHttpRequest已更新,不再接受responseType的非标准moz-chunked-arraybuffer值。仍在使用它的代码应更新为将 Fetch API 用作流(Firefox bug 1120171)。- 如果在使用
unload、beforeunload或pagehide事件时执行同步请求,XMLHttpRequest现在会向控制台输出警告(Firefox bug 980902)。 cookie属性已从HTMLDocument接口移至Document接口,允许 HTML 以外的文档使用 cookie(Firefox bug 144795)。HTMLElement.focus()和SVGElement.focus()方法现在接受一个可选对象,该对象可能包含一个布尔值preventScroll选项,用于指定是否阻止浏览器将新聚焦的元素滚动到视图中(Firefox bug 1374045)。
DOM 事件
- Android 版 Firefox 不再在绘制第一帧之前错误地发送
resize事件;这提高了与不期望此事件发生的网站的 Web 兼容性(Firefox bug 1528052)。 - 非主鼠标按钮的事件分派已更紧密地遵循规范;单击非主按钮时不再发送
click事件,而是使用auxclick。此外,dblclick不再为非主按钮触发(Firefox bug 1379466)。 - 专有
mozPressure属性已被弃用,现在会在控制台中触发警告(Firefox bug 1165211)。
媒体、Web Audio 和 WebRTC
-
由于 Google Play 商店政策的变化,从 Android 版 Firefox 68 开始,用于处理 WebRTC 连接中 AVC/H.264 视频的 OpenH264 编解码器无法再下载和安装。因此,在 Android 设备上新安装的 Firefox 不再支持 WebRTC 调用中的 AVC。如果您从早期版本的 Firefox 升级并且已经下载了编解码器,它将继续工作。这不影响其他平台。有关更多详细信息,请参阅 SUMO 上的这篇文章或 Firefox bug 1548679。
-
WebRTC 已更新,以识别传递给
icecandidate事件处理程序的null候选者,不再指示已收到候选者,而是指示没有更多候选者到来;当发生这种情况时,ICE 收集(iceGatheringState)状态达到complete(Firefox bug 1318167)。 -
RTCRtpReceiver方法getContributingSources()和getSynchronizationSources()现在支持视频轨道;以前它们只适用于音频(Firefox bug 1534466)。 -
Web 音频 API
MediaStreamTrackAudioSourceNode接口现在受支持,方法AudioContext.createMediaStreamTrackSource()也受支持(Firefox bug 1324548)。 -
MediaStreamAudioSourceNode()构造函数已更新,以匹配当前规范的定义,即流中的“第一个音频轨道”是 ID 在字典顺序中排在前面的轨道(Firefox bug 1324548)。 -
不再允许从非安全上下文中使用
getUserMedia();尝试这样做现在会抛出NotAllowedError异常。安全上下文是使用 HTTPS 加载的上下文、使用file:///方案定位的上下文以及从localhost加载的上下文。目前,如果您必须这样做,可以通过将首选项media.getusermedia.insecure.enabled设置为true来重新启用执行不安全getUserMedia()调用的能力(Firefox bug 1335740)。注意:将来,Firefox 还将移除不安全上下文上的
navigator.mediaDevices属性,从而阻止对MediaDevicesAPI 的所有访问。Nightly 构建中已经如此。
移除
- 移除了非标准的
XMLDocument.load()方法(Firefox bug 332175)。 - 移除了非标准的
XMLDocument.async属性(Firefox bug 1328138)。 RTCIceServer.credentialTypetoken值已移除(Firefox bug 1529595)。
HTTP
- HTTP
Clear-Site-Data标头不再支持executionContexts指令。由于导航过程中不同类型数据之间相互连接的问题以及规范的设计方式,此指令已被移除。有人提议因此以及其他原因将此指令从规范中移除(Firefox bug 1548034)。
移除
- 由于对其标准化状态的担忧,不再支持
Content-Security-Policy指令require-sri-for。它以前仅在默认关闭的首选项之后可用(Firefox bug 1386214)。
安全
- 由于 CVE-2019-11730:同源策略将目录中的所有文件视为同源,已进行更改,因此 Firefox 现在将同一目录中的文件视为来自不同源。这会对通过 file:// URL 加载的文档中的工作方式产生许多副作用(有关有用的背景研究,请参阅 Firefox bug 1558299)。例如,工作程序不再能够加载。
WebDriver 符合性 (Marionette)
错误修复
- 如果
WebDriver:SwitchToWindow将选择更改为不同的窗口,它现在会在返回之前等待其focus和activate事件(Firefox bug 1335085)。 - 修复了
TypeError: this.tabModal is null故障,该故障有时在与模态对话框或用户提示交互时出现(Firefox bug 1538782)。
其他
- 禁用在低内存条件下强制卸载后台选项卡的功能,以防止顶级浏览器上下文神奇地消失(Firefox bug 1553748)。
- 禁用导致在打开新选项卡后导航到网站时 HTTP 身份验证对话框不出现的特权内容进程(Firefox bug 1558763)。
插件
无更改。
附加组件开发人员的变更
API 更改
proxy.register()和proxy.unregister()函数已被弃用,并将从 Firefox 71 中移除(Firefox bug 1545811)。- 已向 proxy.RequestDetails 对象添加了一个布尔标志
incognito。当为true时,表示这是一个私密浏览请求(Firefox bug 1545163)。 - webRequest.RequestFilter 参数可以包含一个 incognito 参数。如果提供,与 incognito 状态(
true或false)不匹配的请求将被过滤掉(Firefox bug 1548177)。 - 已向 proxy.RequestDetails 对象添加了一个字符串值
cookieStoreId,表示当前上下文的 cookie 存储 ID(Firefox bug 1545420)。 - 当附加组件尝试将书签文件夹添加到根文件夹时,生成的错误消息现在更加直观(Firefox bug 1512171)。
browser.tabs.duplicate()返回的 promise 现在会立即解析,在选项卡完全加载之前(Firefox bug 1394376)。- 已添加对 chrome.storage.managed 的支持,允许通过企业策略实施 Web 扩展设置(Firefox bug 1230802)。
proxy.onRequest中的proxyAuthorization和connectionIsolation现在仅适用于 HTTPS 代理(Firefox bug 1549368)。
清单更改
无更改。
另见
- Hacks 发布文章:Firefox 68:BigInts、对比度检查和 QuantumBar