Firefox 36 开发者版发行说明
Firefox 36 于 2015 年 2 月 24 日发布。本文列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的主要更改。
面向网络开发者的变更
开发者工具
亮点
CSS
will-change属性已默认启用 (Firefox bug 961871)。white-space属性现在在<textarea>HTML 元素上正常工作 (Firefox bug 82711)。unicode-range描述符现在由@font-face支持 (Firefox bug 475891),但默认未启用。- 属性
text-decoration-color、text-decoration-line和text-decoration-style已取消前缀 (Firefox bug 825004)。为了方便过渡,带前缀的版本仍然可用一段时间 (Firefox bug 1097922)。 text-decoration属性已转换为缩写属性 (Firefox bug 1039488)。- 现在支持
object-fit和object-position属性 (Firefox bug 624647) display属性的contents值已进行实验性实现。它默认关闭 (Firefox bug 907396)。- 在怪异模式下,
:active和:hover抖动怪癖已被修改为不那么频繁地应用:它现在仅用于链接,仅当元素中没有伪元素或其他伪类,并且它不是伪类元素的一部分时 (Firefox bug 783213)。 isolation属性已实现 (Firefox bug 1077872)。- CSS
<gradient>现在应用于预乘颜色,与规范和其他浏览器匹配,并消除了其中出现的意外灰色 (Firefox bug 591600)。 - 插值提示语法已添加到
<gradient>(Firefox bug 1074056)。 scroll-behavior属性已实现 (Firefox bug 1010538)。
HTML
- 已添加对
<meta name="referrer">的支持 (Firefox bug 704320)。 - 在 Firefox 中,除非
accept属性中存在未知值(即未知 MIME 类型或格式错误的值),否则<input>标签中accept属性指定的过滤器将始终默认选中。以前,指定的过滤器仅对image/*、video/*和audio/*值默认选中 (Firefox bug 826185)。
JavaScript
-
ECMAScript 2015 Symbol 数据类型已默认启用(自版本 33 起在 Nightly 频道可用)(Firefox bug 1066322)
-
旧的占位符字符串
"@@iterator"已被真正的 ES2015 知名符号Symbol.iterator替换,作为 可迭代 接口属性键 (Firefox bug 918828)。 -
规范内部抽象操作
ToNumber(string)现在支持二进制 (0b) 和八进制 (0o) 字面量,这可能是 ES5 的一个潜在破坏性更改 (Firefox bug 1079120)。Number("0b11")现在返回3,而不是NaN。"0o11" == 9现在返回true,而不是false。
-
const声明现在是块级作用域并需要一个初始化器 (Firefox bug 611388)。它也不能再被重新声明 (Firefox bug 1095439)。{const a=1}; a;现在抛出ReferenceError,并且由于块级作用域,不再返回1。const a;现在抛出SyntaxError(“const 声明中缺少 =”):需要一个初始化器。const a = 1; a = 2;现在也抛出SyntaxError(“对 const a 的无效赋值”)。
-
ES2016 方法
Array.prototype.includes已实现,但目前仅在 Nightly 版本中启用 (Firefox bug 1069063)。 -
当与
let和const一起使用时,delete运算符现在会触发“暂时性死区”(Firefox bug 1074571)。 -
非标准的
let块和let表达式 已弃用,现在将在控制台中记录警告。请不要再使用它们,它们将在将来被移除。 -
WeakMap 构造函数现在处理可选的可迭代参数 (Firefox bug 1092537)。
接口/API/DOM
-
Canvas API 的
CanvasRenderingContext2D.resetTransform()方法已实现 (Firefox bug 1099148)。 -
Web Crypto API 现在支持 ECDSA (Firefox bug 1034854)。
-
我们的 WebGL 2.0 实验性实现正在进行中!
-
已添加
MediaDevices接口,其中包含基于Promise的getUserMedia()版本。它可以通过Navigator.mediaDevices访问 (Firefox bug 1033885)。 -
现在支持与 EME 相关的
Navigator.requestMediaKeySystemAccess()方法以及相关的MediaKeySystemAccess(Firefox bug 1095257)。 -
当与 EME 相关的 CDM 更改会话中的密钥时,现在会发送
keyschange事件 (Firefox bug 1081755)。 -
MutationObserver.observe()选项的默认值已更新,以匹配最新的规范 (Firefox bug 973638)。 -
虚拟现实设备的实验性支持已在
dom.vr.enabled首选项后面启用,默认关闭 (Firefox bug 1036604)。 -
与
RTCPeerConnection.onsignalingstatechange关联的函数现在接收一个事件作为参数,根据规范 (Firefox bug 1075133)。 -
Web Animations 的实验性实现取得了进展:现在支持
AnimationPlayer.play()和AnimationPlayer.pause()方法 (Firefox bug 1070745),以及AnimationPlayer.playState(Firefox bug 1037321)。 -
非标准的
DOMRequest接口现在有一个DOMRequest.then()方法 (Firefox bug 839838)。 -
CSSOM View 滚动行为控制方法
Element.scroll()、Element.scrollTo()、Element.scrollBy()和Element.scrollIntoView()已实现或扩展 (Firefox bug 1045754 和 Firefox bug 1087559)。 -
将值分配给
SVGElement上的Element.innerHTML现在会在 SVG 命名空间中创建元素 (Firefox bug 886390)。 -
nsIWebBrowserPersist.saveURI()方法现在需要 8 个参数,顺序与以前的版本不兼容。 -
Media Source Extensions (MSE) 支持在非构建版本(仅限 Nightly 和 Developer Edition)中默认激活 (Firefox bug 1000686)。它在 Beta 和发布版本中仍然默认关闭。
MathML
无更改。
SVG
无更改。
音频/视频
无更改。
网络
- 已删除对 SPDY/3 的支持;对 SPDY/3.1 的支持仍然可用 (Firefox bug 1097944)。
安全
- RC4 现在被认为是不安全的,所有 UI 指示器都将作出相应的反应;SSLv3 已在 Firefox 34 中默认禁用,但 UI 已更改以帮助用户更好地理解正在发生的事情 (Firefox bug 1093595)。
- 此外,TLS 的初始握手不再提供 RC4 (Firefox bug 1088915)。
- 现在支持 CSP 1.1 的
form-action指令 (Firefox bug 529697)。 - 在 Firefox 的首选项中,“请勿追踪”选择小部件再次成为一个开关 (Firefox bug 1071747)。
面向附加组件和 Mozilla 开发者的变更
附加组件 SDK
亮点
-
sdk/test/httpd模块已被删除,请改用 addon-httpd npm 模块。 -
为
sdk/ui按钮添加徽章 (Firefox bug 994280)。 -
实现了全局
require函数以在任何地方访问 sdk 模块 (Firefox bug 1070927),使用jsvar { require } = Cu.import( "resource://gre/modules/commonjs/toolkit/require.js", {}, );
详情
JavaScript 代码模块
PromiseUtils.resolveOrTimeout已实现 (Firefox bug 1080466)。PromiseUtils.defer(Promise.defer()的替代品)已实现 (Firefox bug 1093021)。
接口
nsIContentPolicy
已向 nsIContentPolicy 添加新常量,以允许 Gecko 内部和附加组件代码更好地区分不同类型的请求。这些是
TYPE_FETCH-
表示由
fetch()方法启动的内容加载请求。 TYPE_IMAGESET
XUL
无更改。
其他
- Firefox
-remote命令行选项 已被删除 (Firefox bug 1080319)。