Firefox 36 开发者版

Firefox 36 于 2015 年 2 月 24 日发布。本文列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的关键更改。

面向 Web 开发者的更改

开发者工具

CSS

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 运算符现在在使用 letconst 时触发“时间性死区”,(Firefox 错误 1074571).
  • 非标准的 let 块和 let 表达式已弃用,现在将在控制台中记录警告。请勿再使用它们,它们将在未来被移除。
  • WeakMap 构造函数现在处理可选的可迭代参数 (Firefox 错误 1092537).

接口/API/DOM

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

重点

详情

Firefox 35 和 Firefox 36 之间做出的 GitHub 提交.

JavaScript 代码模块

接口

nsIContentPolicy

已向 nsIContentPolicy 添加新的常量,以允许 Gecko 内部和附加组件代码更好地区分不同类型的请求。这些是

TYPE_FETCH

表示由 fetch() 方法发起的页面加载请求。

TYPE_IMAGESET

表示加载 <img>(带有 srcset 属性或 <picture> 元素)的请求。

XUL

无变化。

其他

旧版本