Firefox 66 开发者版
本文提供有关 Firefox 66 中将影响开发者的变更的信息。Firefox 66 于 2019 年 3 月 19 日发布。
针对 Web 开发者的变更
开发者工具
- 现在可以在 Web 控制台 (Firefox 错误 1499289) 的自动完成弹出窗口中执行 JavaScript 获取器。
- 在 响应式设计模式 中,Window 方法
alert()
、prompt()
和confirm()
现在再次有效,此前这些方法曾出现问题 (Firefox 错误 1273997)。 - 您可以通过右键单击并从上下文菜单中选择“将可见消息导出到剪贴板”来将控制台的输出复制到剪贴板。
HTML
- 现在支持从
file:
URL 加载的 UTF-8 编码 HTML(以及纯文本)文件,无需<meta charset="utf-8">
或 UTF-8 BOM,这使得在将此类文件上传到服务器之前在本地对其进行操作更加容易。您仍然需要确保服务器在Content-Type
HTTP 标头中为这些文件发送charset=utf-8
,否则用于本地文件的检测机制将破坏网络情况下的增量加载 (Firefox 错误 1071816)。
移除
- 从
<input>
元素中移除了x-moz-errormessage
属性 (Firefox 错误 1513890)。您应该使用 约束验证 API 来实现自定义验证消息。
CSS
- 在 Firefox 桌面版 (但尚未在移动版中) 中实现了 滚动锚点,其中包括
overflow-anchor
属性 (Firefox 错误 1305957)。 - 我们实现了区分大小写的 属性选择器 修饰符
s
(Firefox 错误 1512386)。 - 已经发布了几个 逻辑属性 简写,以及与流相关的边框半径属性
padding-block
和padding-inline
(Firefox 错误 1519847)。margin-block
和margin-inline
(Firefox 错误 1519944)。inset
、inset-block
和inset-inline
(Firefox 错误 1520229)。border-block-color
、border-block-style
、border-block-width
、border-inline-color
、border-inline-style
和border-inline-width
(Firefox 错误 1520236)。border-block
和border-inline
(Firefox 错误 1520396)。border-start-start-radius
、border-start-end-radius
、border-end-start-radius
和border-end-end-radius
(Firefox 错误 1520684)。
- 我们实现了
overflow-inline
和overflow-block
媒体查询 (Firefox 错误 1422235)。 - 现在可以根据规范中规定的规则对
grid-template-columns
和grid-template-rows
进行动画 (Firefox 错误 1348519)。 - 我们现在支持
calc()
中用于表格单元格和列宽度的百分比 (Firefox 错误 957915)。 - 现在可以无前缀地使用
min-content
和max-content
关键字 (Firefox 错误 1322780)。这些关键字可以设置在
SVG
JavaScript
无变更。
API
新的 API/变更
- 在 66 成为 Firefox 的正式版本之后不久,自动播放音频将默认被阻止 (Firefox 错误 1487844,有关推出细节,请参阅 Firefox 错误 1535667)。此功能将逐步推出给用户,直到所有人拥有该功能为止。
DOM
- 已经实现了
HTMLSlotElement.assignedElements()
方法 (Firefox 错误 1425685)。 - 已经实现了
TextEncoder.encodeInto()
方法 (Firefox 错误 1514664)。
DOM 事件
- 已经实现了
InputEvent.inputType
属性 (Firefox 错误 1447239)。 - 在最初在版本 63 和 64 中分别添加之后,又因兼容性问题被移除,
Window.event
和Event.returnValue
属性(最初是专有的 IE 功能,后来为了兼容性而在其他浏览器中也得到支持)已在 Firefox 66 中重新引入。 - 从版本 66 开始,当
KeyboardEvent.keyCode
事件对象的keypress
属性为 0 时,其值将与KeyboardEvent.charCode
相同。反之,当charCode
为 0 时,其值将与keyCode
相同。此镜像行为与其他浏览器匹配,预计可以解决大多数相关兼容性问题,但用户代理嗅探可能会在某些 JavaScript 库中造成更多问题。请注意,在规范方面,我们已从分割模型切换到合并模型(请参阅 UI 事件规范中的 如何为 keypress 事件确定 keyCode)。
媒体、Web 音频和 WebRTC
- 新的 AV1 视频编解码器 现在在 macOS 和 Windows (对于 Intel 处理器) 上默认启用。Linux 支持将在 Firefox 67 中推出 (Firefox 错误 1521181、Firefox 错误 1452146 和 Firefox 错误 1534814)。
- 添加了并与规范同步了
MediaDevices
方法getDisplayMedia()
,该方法可用作navigator.mediaDevices.getDisplayMedia()
。此方法使您可以将屏幕或屏幕的一部分捕获为MediaStream
,以便进行操作或共享 (Firefox 错误 1321221)。 - 为了最终弃用用于捕获屏幕和窗口内容的 Firefox 专属
getUserMedia()
方法,非标准mediaSource
约束现在将screen
和window
值视为相同。现在,两者都向用户展示了一个包含屏幕和窗口的列表,以便用户选择 (Firefox 错误 1474376)。 - 已将
qpSum
添加到本地出站RTCRTPStreamStats
对象。这测量了在视频轨道上发送或接收的每帧的量化参数值的总和。此数字越大,流的压缩程度可能越高 (Firefox 错误 1347070)。 - 在实现对未来 Firefox 更新中的功能策略支持的过程中,
getUserMedia()
在没有适当内容原点的情况下无法使用,例如,当从沙盒化的<iframe>
或用户在地址栏中输入的data
URL 中调用时。有关更多详细信息,请参阅 MediaDevices.getUserMedia() 页面上的 安全性 部分 (Firefox 错误 1371741)。
移除
- 已弃用的 WebRTC
PeerConnection.getStats()
方法已删除,以及相关类型(Firefox 错误 1328194)。
网络
Accept
头部的默认值已更改为*/*
(Firefox 错误 1417463)。
安全
无变更。
插件
无变更。
WebDriver 兼容性(Marionette)
API 更改
- 已添加
WebDriver:NewWindow
以支持打开新的浏览上下文,该上下文可以是窗口或标签页之一(Firefox 错误 1504756)。 - 如果指定元素不是当前浏览上下文的一部分,
WebDriver:SwitchToFrame
现在会引发no such element
错误(Firefox 错误 1517196)。 WebDriver:ExecuteScript
和WebDriver:ExecuteAsyncScript
不再支持不符合规范的scriptTimeout
参数。请改用WebDriver:SetTimeout
或timeouts
功能来定义此值(Firefox 错误 1510929)。- 此外,现在支持无限的脚本超时(Firefox 错误 1128997)。
WebDriver:SetWindowRect
不再在其响应中返回窗口状态(Firefox 错误 1517587)。
错误修复
WebDriver:TakeScreenshot
现在使用Element.clientWidth
和Element.clientHeight
属性Document.documentElement
而不是视窗尺寸(Firefox 错误 1385706)。- 已应用各种修复程序,以使窗口操作命令在跨平台上更加可靠(Firefox 错误 1522408,Firefox 错误 1478358,Firefox 错误 1489955)。
针对附加组件开发者的变更
API 更改
菜单
- 类型为 "书签" 的扩展菜单项
type
也会出现在书签侧边栏(Ctrl
+B
)和库窗口(Ctrl
+Shift
+B
)中(Firefox 错误 1419195)。
清单变更
无变更。
另请参阅
- Hacks 发布文章:Firefox 66: The Sound of Silence
旧版本
- 开发者版 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
- 开发者版 Firefox 36
- 开发者版 Firefox 35