Firefox 63 开发者版本
本文提供了有关 Firefox 63 中将影响开发人员的更改的信息。Firefox 63 于 2018 年 10 月 23 日发布。
Web 开发人员更改
开发者工具
- 在 页面检查器 中的“字体”选项卡现在包含一个编辑器,使您可以轻松查看和编辑页面上字体的设置。有关详细信息,请参阅 编辑字体。
- 现在默认启用 无障碍检查器(Firefox 错误 1482454)。
- 当您将鼠标悬停在 无障碍检查器 中的对象上时,该项目将突出显示,并且其角色和名称将显示在页面上的信息栏中(Firefox 错误 1473030)。
- 现在在 Web 控制台 中的命令行紧随控制台输出显示(Firefox 错误 1136299)。
- 已在 网络监控器 中的内容中添加了一个新图标,用于指示 URL 何时属于已知的跟踪器 — 请参阅 安全图标(Firefox 错误 1333994)。
devtools.aboutdebugging.showSystemAddons
的默认值现在为false
,这意味着系统加载项不会在about:debugging
页面上列出。您可以通过导航到about:config
来更改设置(Firefox 错误 1425347)。- 简化了 响应式设计模式 工具栏,并添加了左对齐视口的选项。
- 页面检查器包括一个 指向自定义元素的类定义的链接。(Firefox 错误 1443923)。
HTML
- 已添加对
<img>
元素的decoding
属性的支持(Firefox 错误 1416328);另请参阅HTMLImageElement.decoding
。
移除
- 已删除对
sidebar
链接类型(rel="sidebar"
)的支持。如果锚标记包含此属性,则将忽略它(Firefox 错误 1452645)。
CSS
- 已添加对
:defined
伪类的支持(Firefox 错误 1331334)。 - 在 Flexbox 布局 中添加了对
row-gap
、column-gap
和gap
的支持(Firefox 错误 1398483)。 - 重新启用对 webkit 前缀像素密度 @media 查询 的支持(Firefox 错误 1444139)。
- 添加了对 CSS 弹性盒布局(Flexbox)属性
align-self
、align-content
和align-items
以及justify-content
属性的支持(Firefox 错误 1472843)。 - 为
offset-path
实现了path()
函数(Firefox 错误 1429298)。 - 实现了 媒体查询级别 4 规范中的语法改进(Firefox 错误 1422225)。
- 将
offset-*
属性重命名为inset-block-start
、inset-block-end
、inset-inline-start
和inset-inline-end
(Firefox 错误 1464782)。 - 添加了对 prefers-reduced-motion 媒体功能的支持(Firefox 错误 1365045、Firefox 错误 1475462)。
- 为
resize
属性添加了流相对值(block
、inline
)(Firefox 错误 1464786)。 - 为
align-self
、align-content
和justify-content
中的safe
和unsafe
值实现了 Flexbox 布局(Firefox 错误 1297774)。 - 现在可以对 逻辑属性(在适当的情况下)进行动画处理(Firefox 错误 1309752)。
移除
- 已删除
offset-block-start
、offset-block-end
、offset-inline-start
和offset-inline-end
;如上所述,这些已重命名为inset-*
(Firefox 错误 1464782)。
SVG
无更改。
JavaScript
- 已实现
Symbol.prototype.description
属性(Firefox 错误 1472170)。 - 已添加
Object.fromEntries()
方法(Firefox 错误 1469019)。 - 当您尝试访问未定义对象的属性时,错误消息现在得到了极大的改进。考虑
x
未定义且您尝试访问x.y
的情况,控制台现在返回更具描述性的 x 未定义;无法访问其“y”属性,而不是“TypeError: x 未定义”(Firefox 错误 1259822)。
移除
- 已删除实验性的 WebAssembly 模块 IndexedDB 序列化支持(Firefox 错误 1469395)。
API
新的 API
- 已默认启用 Shadow DOM(Firefox 错误 1471947)和自定义元素(Firefox 错误 1471948)API;有关更多详细信息,请参阅 Web 组件。
- 已实现 媒体功能 API(Firefox 错误 1409664)。
- 已实现 异步剪贴板 API,并已为所有通道默认启用(Firefox 错误 1461465)。与 Chrome 一样,Firefox 目前仅实现
writeText()
和readText()
方法;但是,与 Chrome 不同,readText()
仅在 浏览器扩展 中可用。 - 现在支持
SecurityPolicyViolationEvent
接口。当违反Content-Security-Policy
时,它允许发送事件(Firefox 错误 1472661)。
DOM
- 以下部分 Web 动画 API 已默认启用(请参阅 Firefox 错误 1476158)
Animation
属性ready
和finished
,指定Animation
对象的ready
和finished
Promise
。Animation
对象的effect
属性。- 接口
KeyframeEffect
和AnimationEffect
。
- 已实现
Element.toggleAttribute()
方法(Firefox 错误 1469592)。 - 出于兼容性目的,现在支持历史上的先前非标准
Event.returnValue
属性(Firefox 错误 1452569)。 - 为了提升 Web 兼容性,我们实现了
Window.event
属性,现在它已成为标准 (Firefox bug 218415)。但是,由于一些 Web 兼容性问题(例如 Firefox bug 1479964),它很快就在非 Nightly 版本中被禁用,并隐藏在dom.window.event.enabled
首选项后面 (Firefox bug 1493869)。 - 为了使 Firefox 与 Edge 和 Chrome 保持一致,
navigator.platform
属性现在即使在 64 位 Windows 上运行时也会返回"Win32"
(Firefox bug 1472618)。 - 在 Firefox 63 之前,带有
rel="noopener"
的打开新窗口的链接,以及使用启用的noopener
窗口功能调用Window.open()
会默认禁用所有窗口功能,因此您必须显式重新启用所需的任何标准功能。现在,这些窗口启用了与任何其他窗口相同的特征集,您需要显式关闭不需要的任何特征 (Firefox bug 1419960)。
DOM 事件
- 改进了 Windows 上键盘 右侧 的
Alt
键的处理。如果用户当前的键盘布局将Alt
键映射到AltGr
修饰键,则KeyboardEvent.key
的值现在报告为"AltGraph"
。此行为与最近在 Chrome 中引入的行为相匹配 (Firefox bug 900750)。
媒体、Web 音频和 WebRTC
- 即使在同一个内容进程中,麦克风访问现在也可以在多个选项卡中同时工作 (Firefox bug 1404977)。
RTCDataChannel
已更新为支持 sctp-sdp-21 数据格式的数据,除了之前支持的旧版 sctp-sdp-05 格式。- Web 音频 API 的
ConstantSourceNode
节点类型现在具有 2 个而不是 1 个的默认通道数,以匹配规范 (Firefox bug 1413283)。 - 当为节点开始时间指定负值时,Web 音频 API 接口
AudioScheduledSourceNode
(以及基于它的所有其他节点类型)现在会抛出正确的异常。该错误是RangeError
(Firefox bug 1413284)。 AudioParam
对象的value
的最小和最大允许值已分别更改为最小负单精度浮点数 (-340,282,346,638,528,859,811,704,183,484,516,925,440) 和最大正单精度浮点数 (+340,282,346,638,528,859,811,704,183,484,516,925,440) (Firefox bug 1476695)。SourceBuffer.changeType
方法允许您在活动流期间更改编解码器,现在已默认启用。这是 媒体源扩展 API 的一部分 (Firefox bug 1481166)。AudioParam.setValueCurveAtTime()
方法已更新为正确接受浮点数数组,以指示参数随时间变化的值。以前,它需要一个Float32Array
(Firefox bug 1421091)。AudioParam.setValueCurveAtTime()
也已更新为在values
数组中找到非有限值时正确返回适当的TypeError
(Firefox bug 1472095)。- 此外,
setValueCurveAtTime()
已更新,以确保在持续时间结束后参数完成跟随指定值曲线后,参数的值将设置为要通过的值列表中的最后一个值 (Firefox bug 1308436)。 RTCRTPStreamStats
字典已重命名为RTCRtpStreamStats
,以与其他 WebRTC 字典和规范保持一致 (Firefox bug 1480498)。- 已添加对
RTCRtpStreamStats
字典的kind
属性的支持 (Firefox bug 1481851)。 RTCRtpStreamStats
字典的isRemote
属性已弃用,将在 Firefox 65 中删除。现在,当访问此属性时,会向控制台输出警告。有关详细信息,请参阅 Advancing WebRTC 博客上的这篇博文 (Firefox bug 1393306)。
画布和 WebGL
- 一个新的
powerPreference
上下文属性已添加到HTMLCanvasElement.getContext()
。在 macOS 上,这允许 WebGL 非性能关键应用程序和小程序请求低功耗 GPU 而不是多 GPU 系统中的高功耗 GPU (Firefox bug 1349799)。
移除
- 已删除过时的且非标准的仅限 Firefox 的方法
Window.back()
和Window.forward()
。请改用window.history.back()
和window.history.forward()
方法 (Firefox bug 1479486)。 - 由于它们可能导致内存泄漏,因此
URL.createObjectURL()
和URL.revokeObjectURL()
方法不再在ServiceWorker
实例上可用 (Firefox bug 1264182)。 - 由于它在规范中已被弃用,因此 Web 音频 API 中已删除对
PannerNode
上的多普勒效应的有限支持。AudioListener
属性dopplerFactor
和speedOfSound
已被删除,以及PannerNode
方法setVelocity()
(Firefox bug 1148354)。
CSSOM
无更改。
HTTP
Clear-Site-Data
标头已实现,不再隐藏在首选项后面 (Firefox bug 1470111)。
安全
- 如果为站点配置了内容安全策略,则站点收藏夹图标现在受 内容安全策略 约束 (Firefox bug 1297156)。
- CSP
script-src
指令的'report-sample'
表达式现在在生成违规报告时被识别。此指令表示应在报告中包含违规发生位置的简短示例。以前,Firefox 始终包含此示例 (Firefox bug 1473218)。 - Firefox 现在使用 NSS 3.39 (Firefox bug 1470914)。
插件
无更改。
WebDriver 兼容性 (Marionette)
新功能
- Marionette 现在在
WebDriver:NewSession
响应中返回一个setWindowRect
功能,如果浏览器窗口可以重新定位和调整大小,则该功能为 true,例如,Firefox 的情况就是这样,但任何移动应用程序都不行 (Firefox bug 1470659)。 - 添加了对
unhandledPromptBehavior
功能的支持,该功能允许定义 WebDriver 规范的特定 提示行为 (Firefox bug 1264259)。 - 已将用户提示的处理添加到
WebDriver:ExecuteScript
和WebDriver:ExecuteAsyncScript
命令中 (Firefox bug 1439995)。
API 更改
- 已删除不带
WebDriver:
前缀的已弃用命令端点 (Firefox bug 1451725)。 WebDriver:NewSession
命令返回 WebDriver 规范中定义的platformName
的推荐字符串 (linux
、mac
、windows
) (Firefox bug 1470646)。
错误修复
- 当 Firefox 未作为最顶层应用程序运行时,元素交互中缺少焦点相关事件 (Firefox bug 1398111)。
- 在后续操作序列中执行
pointerDown
和pointerUp
操作可能会触发双击,因为WebDriver:ReleaseActions
没有重置双击跟踪器 (Firefox bug 1422583)。 - 重复执行
pause
操作可能会导致无限挂起 (Firefox bug 1447449)。 - 修复了一个错误,该错误会导致从
WebDriver:ExecuteScript
和WebDriver:ExecuteAsyncScript
返回元素集合导致循环引用错误 (Firefox bug 1447977)。 - 为了防止竞争条件,
WebDriver:AcceptAlert
和WebDriver:DismissAlert
命令现在都会等到用户提示关闭 (Firefox bug 1479368)。 - 框架脚本发出的日志条目不再受
MarionettePrefs.logLevel
限制,而是记录所有内容 (Firefox bug 1482829)。 - 当截取宽度或高度大于 32767 像素的窗口的屏幕截图时,
WebDriver:TakeScreenshot
会引发错误 (Firefox bug 1485730)。 - 如果要发送的文本为空字符串,则
WebDriver:SendAlertText
不会替换默认的用户提示值 (Firefox bug 1486485)。
其他
- 更正了
PerformanceObserver.observe()
的行为,如果在指定要观察的条目类型数组中找不到任何有效的条目类型,或者数组为空或丢失,则不执行任何操作。以前,Firefox 错误地抛出TypeError
(Firefox bug 1403027)。 - 在 OpenSearch 中,Firefox 现在接受
application/json
作为搜索 URL 类型,作为application/x-suggestions+json
的别名 (Firefox bug 1425827)。
附加组件开发人员更改
API 更改
主题
browserAction
徽章的默认文本颜色现在会自动设置为黑色或白色,以最大程度地提高与背景的对比度 (Firefox bug 1474110)。theme
清单键的accentcolor
和textcolor
属性现在是可选的 (Firefox bug 1413144)。browserAction.getBadgeTextColor()
和browserAction.setBadgeTextColor()
使您可以获取和设置浏览器操作徽章的文本颜色 (Firefox bug 1424620)。manifest.json
中的主题colors
键现在支持ntp_text
属性以设置新选项卡中的文本颜色,以及ntp_background
属性以设置新选项卡的颜色 (Firefox bug 1347204)。- 主题现在可以定义侧边栏的颜色,例如书签侧边栏 (Firefox bug 1418602)。相关的属性包括
sidebar
:侧边栏的背景颜色。sidebar_text
:侧边栏的文本颜色。sidebar_highlight
:侧边栏中所选项目的背景颜色。sidebar_highlight_text
:侧边栏中所选项目的文本颜色。
management.install()
方法允许 Web 扩展安装并启用签名的浏览器主题(Firefox bug 1369209)。- 引入了清单键 theme_experiment(Firefox bug 1472740)。此键允许为 Firefox 界面定义实验性的
theme
键属性。
搜索
- 新的
search
API 允许您检索已安装的搜索引擎列表并使用它们执行搜索(Firefox bug 1352598)。 topSites.get()
现在接受一个options
参数,允许您为返回的站点列表设置各种选项(Firefox bug 1445836)。
选项卡
tabs.onHighlighted
现在支持多选(Firefox bug 1474440)。tabs.highlight
现在在highlightInfo
对象中包含一个可选字段 -populate
- 其默认值为true
。将其设置为false
可以防止返回的windows.Window
对象填充选项卡列表,从而提高性能(Firefox bug 1489814)。tabs.update
现在支持通过在updateProperties
参数中包含highlighted: true
来更改选项卡的选择状态(Firefox bug 1479129)。tabs.update
现在支持在不更改焦点选项卡的情况下更改选项卡的选择状态(Firefox bug 1486050),方法是在updateProperties
参数中同时包含highlighted: true
和active: false
。tabs.query
现在如果选择了多个选项卡,则返回一个tabs.Tab
对象数组(Firefox bug 1465170)。tabs.Tab
属性现在正确地反映了浏览器窗口中哪些选项卡被选中(突出显示),并且tabs.highlight
支持更改多个选项卡的突出显示状态(Firefox bug 1464862)。- 传递给
tabs.onUpdated
的filter
对象中的isarticle
属性已重命名为isArticle
。保留了旧名称,但已弃用。此更改已提升到 Firefox 62(Firefox bug 1461695)。 tabs.onUpdated
事件可用于跟踪选项卡何时通过changeInfo
对象的attention
属性吸引用户的注意力(Firefox bug 1396684)。
菜单
- 将
menus.getTargetElement()
添加到menus
API。该方法返回由标识已点击元素的targetElementId
参数引用的元素。如果targetElementId
不再有效,则该方法返回 null(Firefox bug 1325814)。 menus.create()
现在允许您创建不可见的菜单项,并且menus.update()
允许您切换菜单项的可见性(Firefox bug 1482529)。- 使用
menus
API 创建的项目现在支持访问键(Firefox bug 1320462)。 menus.create()
和menus.update()
的targetUrlPatterns
参数现在支持任何 URL 方案,即使是在匹配模式中通常不允许的那些方案(Firefox bug 1280370)。- 当单击选项卡上下文菜单项时,即使该选项卡不是当前活动选项卡,也会为该选项卡授予 "activeTab" 权限(Firefox bug 1446956)。
其他
commands.onCommand
现在被视为 用户输入(Firefox bug 1408129)。webRequest
API 现在允许您过滤推测性连接(Firefox bug 1479565)。webRequest.SecurityInfo
添加了两个新属性,keaGroupName
和signatureSchemeName
。此更改已提升到 Firefox 62(Firefox bug 1471959)。cookies.Cookie
现在包含一个指示 Cookie 的 SameSite 状态的属性。cookies.SameSiteStatus
枚举定义了 SameSite 状态值(Firefox bug 1351663)。- URL 的匹配模式现在明确匹配“data”URL 方案(Firefox bug 1280370)。
旧版本
- 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 开发者版
- Firefox 34 开发者版
- Firefox 33 开发者版
- Firefox 32 开发者版