Firefox 43 开发者发行说明
要测试 Firefox 的最新开发者功能,请安装 Firefox Developer Edition Firefox 43 于 2015 年 12 月 15 日发布。本文档列出了重要的更改,这些更改不仅对 Web 开发者有用,也对 Firefox 和 Gecko 开发者以及附加组件开发者有用。
面向网络开发者的变更
开发者工具
亮点
CSS
- 已支持标准、无前缀版本的
hyphens(Firefox bug 953408)。 - 已更新
font简写属性以接受font-stretch值(Firefox bug 1057680)。 - 为了与规范的最新演变保持一致,
:fullscreen伪类现在选择全屏中的所有元素堆栈,而不仅仅是顶层元素(Firefox bug 1199522)。 - 已将
writing-mode的已弃用的 SVG 值 `lr`、`lr-tb`、`rl`、`tb` 和 `tb-rl` 添加到 CSS 中作为标准属性的别名(Firefox bug 1205787)。
HTML
- 对于包含多个帧的 ICO 图像的
<img>,图像的固有尺寸将设置为最大帧的尺寸,而不是最小帧的尺寸(Firefox bug 1201796)。 - 现在可以通过 JavaScript 动态更改文档视口的值(使用
<meta name="viewport>定义)(Firefox bug 976616)。
JavaScript
新 API
- 新的 ES2016 方法
Array.prototype.includes()和TypedArray.prototype.includes()现在默认启用(Firefox bug 1070767)。
关于 arguments 对象的更改
- 为了与 ES2015 规范保持一致,箭头函数不再拥有自己的
arguments对象。arguments对象现在是词法绑定的(从外部函数继承)。在大多数情况下,rest 参数是一个很好的替代方案(...args) => args[i],请参阅(Firefox bug 889158)。 - 现在允许将
arguments对象与 rest 参数结合使用(Firefox bug 1133298)。 - 从现在开始,非严格函数中映射的
arguments对象仅在函数**不**包含任何 rest 参数、任何 默认参数或任何 解构参数时才提供(Firefox bug 1175394)。
其他更改
- 根据 ES2016,生成器和生成器方法不再是可构造的(Firefox bug 1191486)。
接口/API/DOM
DOM 和 HTML DOM
无更改。
IndexedDB
- 添加了一项名为“本地化排序”的新功能,该功能允许创建带有指定本地化的索引,然后可以使用这些索引根据该本地化的规则对数据进行排序(Firefox bug 871846)。这是一项非标准的 Firefox 特有功能。
Service Workers
- 根据规范,如果
ExtendableEvent.waitUntil()在ExtendableEvent处理程序之外被调用,Firefox 现在将抛出InvalidStateError;此外,对waitUntil()的多次调用现在将堆叠起来,并将生成的 Promise 添加到 生命周期扩展 Promise 列表中(Firefox bug 1180274)。 - 已实现
PushMessageData方法(Firefox bug 1149195)。
WebRTC
HTMLCanvasElement.captureStream()方法已默认激活(Firefox bug 1177276)。RTCOfferOptions的非标准约束样式选项列表已被弃用,将在 Firefox 44 中完全移除。
杂项
- 根据规范的最新演变,电池状态 API 现在为
Navigator.getBattery()使用新的 Promise 语法(Firefox bug 1050749)。 User-Agent标头不再是 禁止的请求标头列表中的一部分,因此现在可以通过 XHRXMLHttpRequest.setRequestHeader()等方式在 FetchHeaders对象中设置它(Firefox bug 1188932)。- 现在
MediaRecorder()构造函数可以接受一个选项字典作为参数,允许您为要录制的音频/视频设置自定义比特率(Firefox bug 1161276)。 - 已实现属于 Performance APIs 的
PerformanceObserver接口(Firefox bug 1165796)。 - 已添加 Frame Timing API:现在可以使用
PerformanceRenderTiming和PerformanceCompositeTiming接口(Firefox bug 1191178)。 - 已实现现代 屏幕方向 API:现在可以使用无前缀的
Screen.orientation和ScreenOrientation接口(Firefox bug 1131470)。非标准的Screen.mozOrientation、Screen.onmozorientationchange、Screen.mozLockOrientation()和Screen.mozUnlockOrientation()将在未来被移除。 - 在 Linux 和 Windows 上,
Event.timeStamp现在返回一个DOMHighResTimeStamp(Firefox bug 1026803)。 - 已添加对
Selection事件selectionchange和selectstart,以及Document.onselectionchange和HTMLInputElement.onselectstart事件处理程序属性的实验性支持(Firefox bug 571294)。如果相关的Selection对象发生更改,则在Document上触发selectionchange事件;如果特定HTMLInputElement或HTMLTextAreaElement发生更改,则在这些元素上触发(Firefox bug 1196479)。此功能受dom.select_events.enabled首选项控制,该首选项默认设置为false,Nightly 版本除外。 - Firefox for Android 和 Firefox OS 已激活对
MouseEvent.offsetX和MouseEvent.offsetY的支持(Firefox bug 1204841)。 - 已移除
HTMLCanvasElement.mozFetchAsStream()方法(Firefox bug 1206030)。 - 当使用包含用户名和密码的 URL 调用
Request()构造函数以及fetch()时,现在将引发TypeError异常(Firefox bug 1195820)。
MathML
无更改。
SVG
无更改。
音频/视频
无更改。
HTTP
无更改。
网络
无更改。
安全
- 如果用户禁用第三方 Cookie,则现在将拒绝从第三方 iframe 访问 Web 存储(即
localStorage和sessionStorage)(Firefox bug 536509)。 - 此白名单甚至已在浏览器的 Nightly 和 Aurora/Dev Edition 中移除(Firefox bug 1201023)。目前计划在下一个版本(Firefox 44)的 Beta 和 Release 版本中也移除此白名单。
- 已为链接到样式表的
<script>和<link>实现了子资源完整性(Firefox bug 992096)。
面向附加组件和 Mozilla 开发者的变更
接口
无更改。
XUL
无更改。
JavaScript 代码模块
无更改。
XPCOM
无更改。
插件
- 为准备未来切换到多进程内容,NPAPI 插件插件不能再与页面内容在同一进程中运行。以
dom.ipc.plugins开头的首选项不再使用。
其他
无更改。