Firefox 36 开发者版
Firefox 36 于 2015 年 2 月 24 日发布。本文列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的关键更改。
面向 Web 开发者的更改
开发者工具
CSS
will-change
属性已默认启用 (Firefox 错误 961871).white-space
属性现在适用于<textarea>
HTML 元素 (Firefox 错误 82711).unicode-range
描述符现在由@font-face
支持 (Firefox 错误 475891),但默认情况下未启用。text-decoration-color
、text-decoration-line
和text-decoration-style
属性已取消前缀 (Firefox 错误 825004)。前缀版本将在一段时间内可用,以方便过渡 (Firefox 错误 1097922).text-decoration
属性已转变为简写属性 (Firefox 错误 1039488).object-fit
和object-position
属性现在已支持 (Firefox 错误 624647)display
属性的contents
值已实验性地实现。它默认情况下已关闭 (Firefox 错误 907396).- 在 怪癖模式 中,
:active
和:hover
抖动怪癖已被更改为应用频率更低:现在仅在链接上使用,仅当元素中没有伪元素或其他伪类并且它不是伪类元素的一部分时才使用 (Firefox 错误 783213). isolation
属性已实现 (Firefox 错误 1077872).- CSS
<gradient>
现在应用于预乘颜色,匹配规范和其他浏览器,并消除其中出现的意外灰色 (Firefox 错误 591600). - 插值提示语法已添加到
<gradient>
(Firefox 错误 1074056). scroll-behavior
属性已实现 (Firefox 错误 1010538).
HTML
- 已添加对
<meta name="referrer">
的支持 (Firefox 错误 704320). - 在 Firefox 中,
<input>
过滤器在accept
属性中指定,除非存在未知值,即accept
属性中存在未知 MIME 类型或格式错误的值,否则始终默认选择这些过滤器。以前,默认情况下,仅为image/*
、video/*
和audio/*
值选择指定的过滤器 (Firefox 错误 826185).
JavaScript
- ECMAScript 2015 Symbol 数据类型已默认启用(自版本 33 起在 Nightly 通道中可用)(Firefox 错误 1066322)
- 旧占位符字符串
"@@iterator"
已被替换为可迭代接口属性键的实际 ES2015 众所周知的符号Symbol.iterator
(Firefox 错误 918828). - 规范内部抽象操作
ToNumber(string)
现在支持二进制 (0b
) 和八进制 (0o
) 字面量,这与 ES5 相比是一个潜在的破坏性更改 (Firefox 错误 1079120).Number("0b11")
现在返回3
,而不是NaN
。"0o11" == 9
现在返回true
,而不是false
。
const
声明现在是块级作用域的,并且需要一个初始化器 (Firefox 错误 611388)。它也不能再重新声明 (Firefox 错误 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 错误 1069063). delete
运算符现在在使用let
和const
时触发“时间性死区”,(Firefox 错误 1074571).- 非标准的
let
块和let
表达式已弃用,现在将在控制台中记录警告。请勿再使用它们,它们将在未来被移除。 WeakMap
构造函数现在处理可选的可迭代参数 (Firefox 错误 1092537).
接口/API/DOM
- Canvas API 的
CanvasRenderingContext2D.resetTransform()
方法已实现 (Firefox 错误 1099148). - Web Crypto API 现在支持 ECDSA (Firefox 错误 1034854).
- 我们的 WebGL 2.0 实验性实现正在进行中!
WebGLQuery
接口现已可用 (Firefox 错误 1048719).WebGL2RenderingContext.invalidateFrameBuffer()
方法已实现 (Firefox 错误 1076456).
- 包含
Promise
版getUserMedia()
的MediaDevices
接口已添加。它可以通过Navigator.mediaDevices
使用 (Firefox 错误 1033885). - 与 EME 相关的
Navigator.requestMediaKeySystemAccess()
方法以及相关的MediaKeySystemAccess
现在已支持 (Firefox 错误 1095257). - 当 EME 相关的 CDM 在会话中更改密钥时,现在会发送
keyschange
事件 (Firefox 错误 1081755). MutationObserver.observe()
选项的默认值已更新为匹配最新规范 (Firefox 错误 973638).- 对虚拟现实设备的实验性支持已在
dom.vr.enabled
首选项后实现,默认情况下已关闭 (Firefox 错误 1036604). - 与
RTCPeerConnection.onsignalingstatechange
关联的函数现在接收事件作为参数,符合规范 (Firefox 错误 1075133). - Web 动画的实验性实现取得进展:方法
AnimationPlayer.play()
和AnimationPlayer.pause()
现在已受支持(Firefox bug 1070745),以及AnimationPlayer.playState
(Firefox bug 1037321)。 - 非标准的
DOMRequest
接口现在有一个DOMRequest.then()
方法(Firefox bug 839838)。 - CSSOM 视图滚动行为控制方法,
Element.scroll()
,Element.scrollTo()
,Element.scrollBy()
和Element.scrollIntoView()
已被实现或扩展(Firefox bug 1045754 和 Firefox bug 1087559)。 - 将
Element.innerHTML
分配给SVGElement
现在会在 SVG 命名空间中创建元素(Firefox bug 886390)。 nsIWebBrowserPersist.saveURI()
方法现在需要 8 个参数,顺序与之前的版本不兼容。- 媒体源扩展 (MSE) 的支持在非构建版本(仅限 Nightly 和开发者版)中默认启用(Firefox bug 1000686)。它仍然在 Beta 版和正式版中被偏好关闭。
MathML
无变化。
SVG
无变化。
音频/视频
无变化。
网络
- 对 SPDY/3 的支持已被移除;对 SPDY/3.1 的支持仍然可用(Firefox bug 1097944)。
安全
- RC4 现在被认为不安全,所有 UI 指示器将做出相应的反应;SSLv3 在 Firefox 34 中默认被禁用,但 UI 已经更改以帮助用户更好地理解正在发生的事情(Firefox bug 1093595)。
- 此外,RC4 在 TLS 的初始握手阶段不再提供(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)。
旧版本
- Firefox 35 开发者版
- Firefox 34 开发者版
- Firefox 33 开发者版
- Firefox 32 开发者版
- Firefox 31 开发者版
- Firefox 30 开发者版
- Firefox 29 开发者版
- Firefox 28 开发者版
- Firefox 27 开发者版
- Firefox 26 开发者版
- Firefox 25 开发者版
- Firefox 24 开发者版
- Firefox 23 开发者版
- Firefox 22 开发者版
- Firefox 21 开发者版
- Firefox 20 开发者版
- Firefox 19 开发者版
- Firefox 18 开发者版
- Firefox 17 开发者版
- Firefox 16 开发者版
- Firefox 15 开发者版
- Firefox 14 开发者版
- Firefox 13 开发者版
- Firefox 12 开发者版
- Firefox 11 开发者版
- Firefox 10 开发者版
- Firefox 9 开发者版
- Firefox 8 开发者版
- Firefox 7 开发者版
- Firefox 6 开发者版
- Firefox 5 开发者版