Firefox 17 for developers 发行说明

Firefox 17 于 2012 年 11 月 20 日发布。本文档列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的主要更改。

面向网络开发者的变更

HTML

CSS

  • 已支持 `CSS Conditional Rules Module Level 3` 中定义的 `@supports` 规则。该功能默认禁用。开发者可以通过将 `layout.css.supports-rule.enabled` 设置为 `true` 来尝试使用。(bug 649740
  • 已支持 CSS Selectors Level 4 伪类 `:dir()`,允许根据元素的书写方向进行选择。(bug 562169
  • 已支持 CSS `unicode-bidi` 属性新规范中的 `isolate-override` 值。(Firefox bug 77335
  • 我们对 `box-sizing` 的带前缀实现现在会考虑 `min-height` 和 `max-height`。这是实现无前缀化的一步。(Firefox bug 308801

DOM/API

  • 已支持 `CSS3 Conditional Rules specification` 中定义的 `CSSSupportsRule` 接口。(Firefox bug 649740
  • 已支持 `WheelEvent` 对象和 `wheel` 事件。(Firefox bug 719320)。
  • 重新支持 Linux 上的 DOM Meta 键。(Firefox bug 751749)。
  • 在 `HTMLMediaElement` 上,新增了一个方法 `mozGetMetadata`,该方法返回一个 JavaScript 对象,其属性表示正在播放的媒体资源的元数据,格式为 `{key: value}` 对。(Firefox bug 763010)。
  • 已重新支持 `Range.intersectsNode`;它在 Gecko 1.9 中已被移除。(Firefox bug 579638)。
  • `Range.compareBoundaryPoints()` 现在会在比较方法无效时抛出一个 `NOT_SUPPORTED_ERR` 值的 `DOMException`。(Firefox bug 714279)。
  • `Event.initEvent()` 已根据规范进行了调整:在事件分发后调用它不会再抛出错误,而只是一个空操作。(Firefox bug 768310)。
  • 已移除非标准的 `XMLHttpRequest.onuploadrequest` 属性。(Firefox bug 761278)。
  • `XMLHttpRequest.getAllResponseHeaders()` 方法现在使用 CRLF(而不是 LF)分隔响应头,符合规范要求。(Firefox bug 730925)。

JavaScript

  • String 对象现在提供了 Harmony 标准的 `startsWith`、`endsWith` 和 `contains` 方法。(Firefox bug 772733)。
  • String 方法 `link()` 和 `anchor()` 现在会转义 `'"'`(引号)。(Firefox bug 352437)。
  • 已实现对草案中的 `ParallelArray` 对象的实验性支持。(Firefox bug 778559)。
  • 支持迭代 `Map`/`Set`。(Firefox bug 725909)。
  • 默认禁用 ECMAScript for XML (E4X),一种已弃用的 JavaScript 扩展,用于网页内容。(Firefox bug 778851)。
  • 现在必须为暴露给内容的 Chrome JavaScript 对象设置 `__exposedProps__`。尝试在没有设置 `__exposedProps__` 的情况下从内容访问 Chrome 对象将静默失败。(Firefox bug 553102)。
  • `for...of` 循环现在可以根据 `.iterator()` 和 `.next()` 工作。(Firefox bug 725907)。

WebGL

  • WebGL 扩展 `EXT_texture_filter_anisotropic` 已移除前缀。现在使用 `"MOZ_EXT_texture_filter_anisotropic"` 会发出警告。带前缀的名称将在将来的版本中移除。(Firefox bug 776001)。

SVG

无更改。

MathML

  • 对 `` 元素的 `align` 属性的解析已更新,以更正确地处理可选的空格。

XUL

  • XUL `key` 元素支持 "os" 修饰符,该修饰符代表 Win 键(Super 或 Hyper 键)。(Firefox bug 778732)。

网络

  • 移除了非标准的 `XMLHttpRequest.onuploadprogress` 功能,该功能在 Firefox 14 中已被弃用。

无更改。

开发者工具

  • 将 JSTerm 的 $ 辅助函数从 `getElementById` 更改为 `querySelector()`。(Firefox bug 751749)。

用户代理

用户代理字符串中的 Gecko 部分已更改。构建日期(自 2010 年以来未更新)已被移除,取而代之的是 Gecko 版本号。因此,`Gecko/20100101` -> `Gecko/17.0`。如果您进行用户代理嗅探,这可能会影响您。

面向附加组件和 Mozilla 开发者的变更

接口更改

nsIInputStream

`available()` 方法返回 64 位长度而不是 32 位。(Firefox bug 215450)。

nsIDOMWindowUtils

`sendMouseScrollEvent()` 方法已被 `sendWheelEvent()` 取代。(Firefox bug 719320)。

nsIFilePicker

已添加 `open()` 方法以异步打开文件对话框,并且 `show()` 方法已被弃用。(Firefox bug 731307)。

nsIScriptSecurityManager

`checkLoadURIStr()` 和 `checkLoadURI()` 方法已被移除。(Firefox bug 327244)。

nsIRefreshURI

`setupRefreshURIFromHeader()` 方法已添加 `principal` 参数。(Firefox bug 327244)。

新接口

无。

已移除的接口

无移除项。

另见