Firefox 60 开发者版发布说明
本文提供有关 Firefox 60 中会影响开发者的更改信息。Firefox 60 于 2018 年 5 月 9 日发布。
Stylo 在 Firefox 60 中登陆 Android
Firefox 的新并行 CSS 引擎 — 也称为 Quantum CSS 或 Stylo — 最初在 Firefox 57 桌面版中默认启用,现已在 Firefox Android 版中启用。
Web 开发人员的变更
开发者工具
- 在 CSS 窗格规则视图中(参见检查和编辑 CSS),精确值增量(增加/减少 0.1)的键盘快捷键已从 Linux 和 Windows 上的
Alt+上/下更改为Ctrl+上/下,以避免与默认的操作系统级别快捷键冲突(参见Firefox bug 1413314)。 - 同样在 CSS 窗格规则视图中,CSS 变量名现在将自动完成(Firefox bug 1422635)。如果您在属性值中输入
var(,然后输入一个破折号(-),您在 CSS 中声明的任何变量都将出现在自动完成列表中。 - 在响应式设计模式中,已添加一个“重新加载时…”下拉菜单,允许用户在切换触摸模拟或更改模拟用户代理时启用/禁用自动页面重新加载。有关更多详细信息,请参见控制页面重新加载行为(Firefox bug 1428816)。
view_source.tab首选项已被移除,因此您无法再在“查看源代码”模式在新标签页或新窗口中显示之间切换。从现在开始,页面源代码将始终显示在新标签页中(Firefox bug 1418403)。
HTML
在 designMode 和 contenteditable 中按 Enter 键现在会插入 <div> 元素,当插入符位于块级编辑主机的子元素(内联元素或文本节点)中时,而不是像以前那样插入 <br> 元素。如果您想在您的应用程序中使用旧行为,可以通过 document.execCommand() 来实现(Firefox bug 1430551)。
CSS
align-content、align-items、align-self、justify-content和place-content属性值已根据最新的CSS Box Alignment Module Level 3 规范进行了更新(Firefox bug 1430817)。paint-order属性已实现(Firefox bug 1426146)。
SVG
无更改。
JavaScript
-
ECMAScript 2015 模块已默认启用(Firefox bug 1438139)。有关更多信息,请参见ES6 深入:模块 和ES 模块:卡通深入剖析,或查阅 MDN 参考文档。
-
Array.prototype.values()方法已再次添加(Firefox bug 1420101)。请确保您的代码没有此方法的任何自定义实现。
API
新 API
DOM
- 在Web Authentication API中,
MakePublicKeyCredentialOptions字典对象已重命名为PublicKeyCredentialCreationOptions;此更改已在 Firefox 中完成(Firefox bug 1436473)。 dom.workers.enabled首选项已被移除,这意味着从(Firefox bug 1434934)开始,worker 无法再被禁用。body属性现在在Document接口上实现,而不是在HTMLDocument接口上实现(Firefox bug 1276438)。PerformanceResourceTiming现在在 worker 中可用(Firefox bug 1425458)。PerformanceObserver.takeRecords()方法已实现(Firefox bug 1436692)。- 标点符号键的
KeyboardEvent.keyCode属性变得非零,即使活动键盘布局不产生 ASCII 字符。有关更多详细信息,请参见这些注释。请**不要**在新的应用程序中使用KeyboardEvent.keyCode— 请改用KeyboardEvent.key或KeyboardEvent.code。 Animation.updatePlaybackRate()方法已实现(Firefox bug 1436659)。- 已包含新的规则来确定标点符号键的 keyCode 值(Firefox bug 1036008)。
IDBFactory.open()方法中 Gecko 专用选项对象storage选项已弃用(Firefox bug 1442560)。- Promises 现在可以在 IndexedDB 代码中使用(Firefox bug 1193394)。
DOM 事件
无更改。
Service Workers
无更改。
媒体和 WebRTC
- 当录制或共享使用
getUserMedia()获取的媒体时,通过将相应轨道的MediaStreamTrack.enabled属性设置为false来静音摄像头现在会关闭摄像头的“正在使用”指示灯,以帮助用户更轻松地看到摄像头未在使用中(Firefox bug 1299515)。有关更多详细信息,请参见用户隐私。另请参见这篇博客文章。 - 使用
removeTrack()从RTCPeerConnection中移除轨道不再从对等连接的发送者列表中移除轨道的RTCRtpSender,如getSenders()报告的那样(Firefox bug 1290949)。 RTCRtpContributingSource和RTCRtpSynchronizationSource对象的 timestamp 以前是基于Date.getTime()返回的值报告的。在 Firefox 60 中,这些已修正为正确使用 Performance Timing API(Firefox bug 1433576)。- 根据规范,如果引用的
AudioBuffer没有 1、2 或 4 个通道,ConvolverNode()构造函数现在会抛出NotSupportedErrorDOMException(Firefox bug 1443228)。 - 已移除过时的
RTCPeerConnection事件处理程序RTCPeerConnection.onremovestream;现在您应该改用removetrack事件(Firefox bug 1442385)。 RTCDataChannel的主要名称现在实际上是RTCDataChannel,而不是DataChannel的别名。名称DataChannel不再受支持(Firefox bug 1173851)。
Canvas 和 WebGL
- 如果
privacy.resistFingerprinting首选项设置为true,WEBGL_debug_renderer_infoWebGL 扩展将从现在开始被禁用(Firefox bug 1337157)。
CSSOM
无更改。
HTTP
- 现在支持
SameSitecookie(Firefox bug 795346)。有关更多信息,请参见Set-Cookie。
安全
当设置为 no-sniff 时,X-Content-Type-Options 标头现在遵循 JavaScript MIME 类型的规范。特别是,text/json 和 application/json 不再是有效值(Firefox bug 1431095)。
插件
无更改。
其他
包含凭据的获取现在可以与不包含凭据的获取共享连接。例如,如果同一个源请求一些网络字体以及来自同一个 CDN 的一些带凭据的用户数据,两者可以共享一个连接,从而可能导致更快的周转时间(Firefox bug 1363284)。
Web 平台移除的内容
HTML
无更改。
CSS
- 专有的
-moz-user-input属性的enabled和disabled值不再可用(Firefox bug 1405087)。 - 专有的
-moz-border-top-colors、-moz-border-right-colors、-moz-border-bottom-colors和-moz-border-left-colors属性已从平台中完全移除(Firefox bug 1429723)。
JavaScript
非标准的表达式闭包语法已移除(Firefox bug 1426519)。
API
无更改。
SVG
无更改。
其他
无更改。
面向附加组件和 Mozilla 开发者的变更
WebExtensions
主题 API
- headerURL 现在是可选的
- 在创建浏览器主题时,如果未指定
headerURL,则应用于标题文本的任何text-shadow都将被移除(参见Firefox bug 1404688)。 - 支持新的属性
- tab_line
- tab_selected
- popup
- popup_border
- popup_text
- tab_loading
- icons
- icons_attention
- frame_inactive
- button_background_active
- button_background_hover