Firefox 17 for developers 发行说明
Firefox 17 于 2012 年 11 月 20 日发布。本文档列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的主要更改。
面向网络开发者的变更
HTML
- 已支持 `
sandbox` 属性在 `<iframe>` 元素上的使用。(Firefox bug 341604)
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)。
新接口
无。
已移除的接口
无移除项。
另见
- Firefox 17 发行说明
- Aurora 17 发布,带来更好的安全性和对新标准的更好支持 (Mozilla Hacks)
- Firefox 17 的附加组件兼容性 (Add-ons Blog)