Firefox 46 开发者发布说明
要测试 Firefox 的最新开发者功能,请安装 Firefox Developer Edition。Firefox 46 于 2016 年 4 月 26 日发布。本文档列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的主要变更。
面向网络开发者的变更
开发者工具
亮点
HTML
- 当遇到无效的
type值时,<ul>不再映射到decimal,而是表现为未指定type值(Firefox bug 241719)。 - 现在,
<input>上的pattern属性被视为带有"u"(unicode) 标志的正则表达式(Firefox bug 1227906)。
CSS
-
我们对 CSS Grids 的实现进行了更新
- 现在,在
repeat()函数中允许使用auto-fill和auto-fit关键字(Firefox bug 1118820)。 true值已重命名为unsafe;这会影响属性justify-content、align-content、justify-self、align-self、justify-items和align-items(Firefox bug 1230478)。
- 现在,在
-
属性
text-emphasis、text-emphasis-style、text-emphasis-color和text-emphasis-position现在默认启用(Firefox bug 1231485)。 -
Gecko 现在接受某些属性的
-webkit-前缀版本;这需要将layout.css.prefixes.webkit切换为true(Firefox bug 1213126)。 -
@font-face的font-display描述符的实验性支持;这需要将layout.css.font-display.enabled切换为true(Firefox bug 1157064)。 -
添加了对
@media (-webkit-transform-3d)的支持,将其作为 3D 变换支持的媒体查询,前提是 about:config 偏好设置layout.css.prefixes.webkit设置为true(Firefox bug 1239799)。 -
支持
linear-gradient()省略0deg单位(Firefox bug 1239153)。 -
为了 Web 兼容性,添加了
-webkit-filter,该功能受layout.css.prefixes.webkit偏好设置控制,默认为false(Firefox bug 1236506)。 -
[css-align] "unsafe start"(以前是 "true start")应序列化为 "start" 等(Firefox bug 1230398)。
JavaScript
- 已实现 ES2015 RegExp unicode (u) 标志(Firefox bug 1135377)。
- 已实现 ES2015 块级函数(Firefox bug 1071646)。
- 已实现 ES2015
TypedArray.prototype.sort()方法(Firefox bug 1121937)。 - 已实现 ES2015
arguments[Symbol.iterator]()(Firefox bug 1067049)。 - 已实现实验性的ECMAScript Shared Memory API。请参阅
SharedArrayBuffer和Atomics对象。要使用此实验性 API,请在 about:config 中将javascript.options.shared_memory设置为true。 - 根据 ECMAScript 规范,
let和const变量的重声明现在会引发SyntaxError而不是TypeError(Firefox bug 1198833)。 - 在严格模式下,在原始值上设置属性现在会引发
TypeError(Firefox bug 603201)。 - 已移除非标准的
WeakMap.prototype.clear()和WeakSet.prototype.clear()方法(Firefox bug 1101817)。 - 非标准的静态
RegExp.multiline属性现已弃用(Firefox bug 1220457)。 - 内置访问器函数名称现在带有 "get" 或 "set" 前缀(Firefox bug 1180290,Firefox bug 1235656)。
- 已移除 JS1.7/JS1.8(旧版)数组推导式和生成器推导式(Firefox bug 1220564)。
接口/API/DOM
DOM 和 HTML DOM
- 当 Firefox 在多进程模式 (e10s) 下运行时,已弃用的
Window.showModalDialog()方法不再可用(Firefox bug 1234700)。 - 添加了对
Document.elementsFromPoint()的支持(Firefox bug 1164427)。 - 当
<select>元素的非存在选项被编程选择时,selectedIndex值现在设置为-1,selectedOptions设置为空HTMLCollection,value设置为空字符串,而不是像以前那样错误地保持不变(Firefox bug 1203668)。
Canvas
- 实验性的
OffscreenCanvasAPI 的其余部分已实现;新功能包括:OffscreenCanvas()构造函数、OffscreenCanvas.toBlob()和OffscreenCanvas.transferToImageBitmap()。要使用此实验性 API,请在 about:config 中将gfx.offscreencanvas.enabled设置为true(Firefox bug 1172796)。 - 现在支持
ImageBitmap.close()方法(Firefox bug 1172796)。 - 现在实现了一个新的
ImageBitmapRenderingContext渲染上下文。使用"bitmaprenderer"和OffscreenCanvas.getContext()或HTMLCanvasElement.getContext()来获取此上下文。(Firefox bug 1172796)。
WebGL
- 已实现
WEBGL_compressed_texture_etc扩展,允许使用 ETC2 压缩纹理格式(Firefox bug 917505)。要使用此扩展,请在 about:config 中将偏好设置webgl.enable-draft-extensions设置为true。
IndexedDB
无更改。
Service Workers
FetchEvent.request现在不可为空(请参阅 Firefox bug 1238213)。Navigator.serviceWorker现在被标记为 SameObject(请参阅 Firefox bug 1238205)。ExtendableMessageEvent.ports现在被标记为 SameObject(请参阅 Firefox bug 1238225)。
Fetch
Request.mode现在有一个可用的新值navigate,用于支持在文档之间导航时生成的请求(请参阅 Firefox bug 1209081)。
WebRTC
RTCPeerConnection.createOffer()方法现在支持 VP9 视频编解码器,尽管默认情况下已禁用。要启用它,请在about:config中将偏好设置media.peerconnection.video.vp9_enabled设置为true。启用后,VP9 是首选编解码器;以前 VP8 是首选(Firefox bug 1242324)。- 添加了
RTCRtpSender.setParameters()方法,以允许在RTCRtpSender初始创建后更改参数值。
新 API
- 在 SVG 中,
SVGStyleElement接口现在实现了LinkStylemixin(Firefox bug 1239128)。
杂项
-
异步
FileReader现在可在 Web worker 中使用(Firefox bug 901097)。 -
我们对 Web Animations API 的实验性实现已更新
- 已实现
AnimationEffectTimingReadOnly字典和AnimationEffectReadOnly.timing(Firefox bug 1214536)。
- 已实现
-
Permissions API 现在默认启用,适用于所有发布版本,而不仅仅是之前的 Nightly 版本(Firefox bug 1221106)。
-
WOFF 字体的清理已有所放宽(Firefox bug 1244693)。
MathML
无更改。
SVG
无更改。
音频/视频
无更改。
HTTP
无更改。
网络
- 已添加对 RFC 7686 的支持:默认情况下,不会尝试使用 TLD
.onion解析域。这由偏好设置network.dns.blockDotOnion控制。支持 Tor 的附加组件可以更改此偏好设置。(Firefox bug 1228457)
安全
无更改。
面向附加组件和 Mozilla 开发者的变更
接口
无更改。
XUL
无更改。
JavaScript 代码模块
无更改。
XPCOM
无更改。
其他
无更改。