Firefox 70 开发者版本
本文档提供了有关 Firefox 70 中将影响开发人员的更改的信息。Firefox 70 于 2019 年 10 月 22 日发布。
Web 开发人员的更改
开发者工具
调试器更新
- 在 调试器 中,您现在可以为 DOM 变异 设置断点,因此当节点或其属性发生更改或当节点从 DOM 中删除时,执行将暂停 (Firefox 错误 1576219)。
- 调试器现在在页面暂停时显示一个覆盖层,并提供基本的操作按钮,让您能够单步执行和继续 (Firefox 错误 1574646)。
- 调试器现在显示引擎已丢弃的源代码(通常是页面加载期间执行一次的脚本),以便您可以正确设置断点以在它们下次执行时进行调试 (Firefox 错误 1572280)。
- 调试器的 作用域面板 分组已简化,合并了以前在顶级函数上方显示的其他作用域(例如,由
let
、with
或if
/else
创建的块)(Firefox 错误 1448166) - 调试器现在在单步执行时保留 作用域面板 中当前选定和展开的变量 (Firefox 错误 1405402)。
- 调试器现在可以正确处理异步函数的单步执行,从而使 异步函数 调试更加容易 (Firefox 错误 1570178)。
- 在 容器会话 中进行调试时(对于测试不同的登录名很有用),调试器中的源代码现在显示正确 (Firefox 错误 1375036)。
debugger
语句现在可以通过在它们上设置断点并将其切换为“此处从不暂停”来在调试器中禁用 (Firefox 错误 925269)。- WebExtensions 开发人员可以从“存储”选项卡下的“扩展存储”项中检查
browser.storage.local
(Firefox 错误 1585499)。
其他更新
- 在 规则视图 中,页面检查器 将在非活动 CSS 属性旁边显示一个图标,您可以将鼠标悬停在其上以获取有关其非活动原因的信息 (Firefox 错误 1306054)。
- 在 CSS 规则视图 中,前景颜色的 颜色选择器 现在会告诉您它与背景颜色的对比度是否满足无障碍访问一致性标准 (Firefox 错误 1478156)。
- 无障碍访问检查器 的 检查问题 下拉列表现在包括键盘无障碍访问检查 (Firefox 错误 1564968)。
HTML
- Firefox 现在可以在以下情况下向用户建议安全生成的密码
<input>
元素具有autocomplete="new-password"
属性值。- 用户在任何密码输入元素上打开上下文菜单,即使它不是用于新密码。
CSS
- 不透明度值,例如
opacity
或stop-opacity
,现在可以是百分比 (Firefox 错误 1562086)。 grid-auto-columns
和grid-auto-rows
现在接受多个轨道大小值 (Firefox 错误 1339672)- 许多与文本相关的 CSS 属性已默认启用 (Firefox 错误 1573631)
text-decoration-thickness
.text-underline-offset
.text-decoration-skip-ink
。默认值为auto
,这意味着默认情况下,下划线和上划线现在会在它们原本会交叉 字形 的地方中断。
display
属性现在接受两个表示内部和外部显示类型的关键字值 (Firefox 错误 1038294、Webkit 错误 1105868 和 Webkit 错误 1557825)。font-size
属性现在接受新的关键字值xxx-large
。(Firefox 错误 1553545)。:visited
伪类不再匹配<link>
元素,原因是逻辑和性能 (Firefox 错误 1572246;请参阅 计划发布:使 <link> 元素始终未访问 和 [选择器] :link 和 <link> 以获取更多原因)。- 我们现在支持
quotes
属性的auto
值 (Firefox 错误 1421938)。 - 包含在
<style>
元素中的样式表现在被缓存以供重用,以提高性能 (Firefox 错误 1480146)。请注意,这目前不包括包含@import
规则的样式表。 <ratio>
类型现在接受<number>/<number>
或单个<number>
作为值。(Firefox 错误 1565562)。
移除
- 我们已停止支持 3 值 <position>(不包括背景)(Firefox 错误 1559276)。
none
值现在在counter()
/counters()
中无效——此更改使第 3 级规范与 CSS 2.1 匹配 Firefox 错误 1576821)。
SVG
- 剪切、复制和粘贴事件现在被分派到 SVG 图形元素 (Firefox 错误 1569474)。
MathML
<math>
元素上已弃用的mode
属性已被删除 (Firefox 错误 1573438)。- 不再支持非零无单位长度值,例如
5
代表500%
。 - 以点结尾的长度值,例如
2.
或34.px
,现在也不支持了。
JavaScript
- 数字分隔符 现在受支持 (Firefox 错误 1435818)。
Intl.RelativeTimeFormat.formatToParts()
方法已实现 (Firefox 错误 1473229)。BigInt.prototype.toLocaleString()
方法已更新,使其根据 ECMAScript 402 Intl API 使用locales
和options
参数。此外,Intl.NumberFormat.format()
和Intl.NumberFormat.formatToParts()
现在接受BigInt
值 (Firefox 错误 1543677)。- 根据最新的 ECMAScript 规范,现在 BigInt 字面量 从不允许前导零,这使得
08n
和09n
无效,类似于使用旧版八进制数(如07n
)时存在的错误。始终使用字母“o”(小写或大写)前导零表示八进制BigInt
数字(即0o755n
而不是0755n
)。请参阅 Firefox 错误 1568619。 - Unicode 扩展键“nu”现在受
Intl.RelativeTimeFormat
构造函数支持,并且Intl.RelativeTimeFormat.resolvedOptions()
方法现在也返回numberingSystem
(Firefox 错误 1521819)。
API
DOM
back()
、forward()
和go()
方法现在是异步的。添加一个popstate
事件的监听器,以便在导航完成后收到通知 Firefox bug 1563587。- 我们在 Web 工作线程中添加了对
DOMMatrix
、DOMPoint
等的支持 (Firefox bug 1420580). - 一些成员已从
HTMLDocument
移动到Document
,包括Document.all
、Document.clear
、Document.captureEvents
和Document.clearEvents
(Firefox bug 1558570、Firefox bug 1558571). - 不再允许从跨域
<iframe>
内部请求通知权限 (Firefox bug 1560741).
媒体、Web 音频和 WebRTC
- 添加了
RTCPeerConnection.restartIce()
方法。这是实现新的“完美协商”机制所需的四项更改之一;其余将在未来的 Firefox 更新中提供 (Firefox bug 1551316). RTCPeerConnection.setRemoteDescription()
方法现在可以不带参数调用。这是另一个“完美协商”更新 (Firefox bug 1568292).- 现在支持
MediaTrackSupportedConstraints.groupId
,并且由于MediaTrackConstraints.groupId
属性现在已受支持,因此返回true
(Firefox bug 1561254). - 已实现/更新了几个新的 Web 音频 API 功能
- 实现了
AudioContext.getOutputTimestamp()
(Firefox bug 1324545). - 实现了
AudioContext.baseLatency
和AudioContext.outputLatency
(Firefox bug 1324552). - 实现了
MediaElementAudioSourceNode.mediaElement
和MediaStreamAudioSourceNode.mediaStream
(Firefox bug 1350973). - 如果您尝试将
channelCount
和channelCountMode
设置为无效值,则ChannelMergerNode()
构造函数现在会抛出错误 (Firefox bug 1456263).
- 实现了
画布和 WebGL
- 我们现在支持
CanvasRenderingContext2D.getTransform()
,以及CanvasRenderingContext2D.setTransform()
的较新变体,该变体接受矩阵对象作为参数,而不是表示矩阵各个组件的多个参数 (Firefox bug 928150).
HTTP
- 当启用增强跟踪保护时,第三方跟踪资源的默认推荐者策略现在为
strict-origin-when-cross-origin
(Firefox bug 1569996). Referer
请求头的尺寸现在限制为 4 KB(4096 字节)。如果过长的推荐者超过定义的限制,则只会发送源部分 (Firefox bug 1557346).- HTTP 缓存现在按顶级文档的源进行分区 (Firefox bug 1536058).
移除
- 已删除
X-Frame-Options
的allow-from uri
指令。请改用Content-Security-Policy
标头和frame-ancestors
指令 (Firefox bug 1301529).
WebDriver 兼容性 (Marionette)
- 更新了
WebDriver:TakeScreenshot
命令以使其与 Fission 兼容。这意味着现在页面截图中包含来自跨域 iframe 的内容。或者,当从 chrome 范围使用它时,活动选项卡的内容现在在浏览器窗口内可见 (Firefox bug 1559592). WebDriver:TakeScreenshot
不再接受用于突出显示的 DOM 元素列表 (Firefox bug 1575511).WebDriver:ExecuteScript
和WebDriver:ExecuteAsyncScript
不再以 Web 公开的方式设置window.onunload
(Firefox bug 1568991).
附加组件开发人员的更改
API 更改
- 在
topSites.get()
方法中添加了一个新参数,该参数会导致该方法返回用户打开新标签页时显示的页面列表 (Firefox bug 1568617). privacy.network
属性的WebRTCIPHandlingPolicy
子属性的允许值已修改(在 Firefox bug 1452713 中),以匹配 Chrome 中的行为,如下所示- 以前,
disable_non_proxied_udp
会阻止在未配置代理的情况下使用 WebRTC。现在,如果配置了代理,则始终使用代理,否则允许非代理连接。 proxy_only
可用于提供旧行为;这会产生仅允许通过使用代理的 TCP 上的 TURN 进行 ICE 协商的效果;不允许其他连接。
- 以前,
清单更改
移除
以下主题键属性(提供基于 Chromium 的浏览器中使用的主题键的别名)已删除
images
属性headerURL
,主题现在应使用theme_frame
。colors
属性accentcolor
,主题现在应使用frame
。textcolor
,主题现在应使用tab_background_text
。
另请参阅
- Hacks 版本发布帖子:Firefox 70 — a bountiful release for all
旧版本
- Firefox 69 for developers
- Firefox 68 for developers
- Firefox 67 for developers
- Firefox 66 for developers
- Firefox 65 for developers
- Firefox 64 for developers
- Firefox 63 for developers
- Firefox 62 for developers
- Firefox 61 for developers
- Firefox 60 for developers
- Firefox 59 for developers
- Firefox 58 for developers
- Firefox 57 for developers
- Firefox 56 for developers
- Firefox 55 for developers
- Firefox 54 for developers
- Firefox 53 for developers
- Firefox 52 for developers
- Firefox 51 for developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers