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