Firefox 17 开发者指南
Firefox 17 于 2012 年 11 月 20 日发布。本文列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都很有用的关键更改。
Web 开发者的更改
HTML
- 已添加对
sandbox
属性在<iframe>
元素上的支持。(Firefox 错误 341604)
CSS
- 已引入对
@supports
At-规则的支持,该规则在 CSS 条件规则模块级别 3 中定义。默认情况下禁用。开发人员可以通过将layout.css.supports-rule.enabled
设置为 true 来尝试它 (错误 649740)。 - 已引入对 CSS 选择器级别 4 伪类
:dir()
的支持,该伪类允许根据元素的方向性选择元素。(错误 562169) - 已引入对 CSS
unicode-bidi
值的新指定isolate-override
值的支持 (Firefox 错误 774335) - 我们对
box-sizing
的前缀实现现在考虑了min-height
和max-height
。向取消前缀迈进了一步 (Firefox 错误 308801)
DOM/API
- 已引入对
CSSSupportsRule
接口的支持,该接口在 CSS3 条件规则规范 中定义 (Firefox 错误 649740) - 已引入对
WheelEvent
对象和wheel
事件的支持 (Firefox 错误 719320)。 - 再次支持 Linux 上的 DOM Meta 键 (Firefox 错误 751749)。
- 在
HTMLMediaElement
上,一个新的方法mozGetMetadata
,它返回一个 JavaScript 对象,其属性表示来自正在播放的媒体资源的元数据,作为 {key: value} 对 (Firefox 错误 763010)。 - 已再次添加对
Range.intersectsNode
的支持;它已在 Gecko 1.9 中删除 (Firefox 错误 579638。 Range.compareBoundaryPoints()
现在在比较方法无效时抛出一个带有NOT_SUPPORTED_ERR
值的DOMException
(Firefox 错误 714279)。Event.initEvent()
已根据规范进行了调整:如果在事件分派后调用,它不再抛出异常,它只是一个空操作 (Firefox 错误 768310)。- 非标准的
XMLHttpRequest.onuploadrequest
属性已被删除 (Firefox 错误 761278)。 - 方法
XMLHttpRequest.getAllResponseHeaders()
现在使用 CRLF(而不是 LF)分隔它们,如规范要求的那样 (Firefox 错误 730925)。
JavaScript
String
对象现在提供 HarmonystartsWith
、endsWith
和contains
方法 (Firefox 错误 772733)。- String 方法 link 和 anchor 现在对
'"'
(引号)进行转义 (Firefox 错误 352437)。 - 已实现对
ParallelArray
对象的实验性支持 (Firefox 错误 778559)。 - 支持迭代
Map
/Set
(Firefox 错误 725909)。 - 默认情况下为 Web 内容禁用了 EcmaScript for XML (E4X),这是一个已放弃的 JavaScript 扩展 (Firefox 错误 778851)。
- 现在必须为公开给内容的 Chrome JavaScript 对象设置
__exposedProps__
。尝试从内容中访问未设置__exposedProps__
的 Chrome 对象将静默失败 (Firefox 错误 553102)。 for...of
循环现在根据.iterator()
和.next()
工作 (Firefox 错误 725907)。
WebGL
EXT_texture_filter_anisotropic
WebGL 扩展已取消前缀。从现在开始,使用"MOZ_EXT_texture_filter_anisotropic"
将会发出警告。前缀名称将在将来的版本中删除 (Firefox 错误 776001)。
SVG
无变化。
MathML
<mtable>
元素上align
属性的解析已更新,以更正地处理可选空格。
XUL
- XUL
key
元素支持“os”修饰符,即 Win 键(Super 或 Hyper 键)(Firefox 错误 778732)。
网络
- 删除了非标准功能
XMLHttpRequest.onuploadprogress
,该功能在 Firefox 14 中已弃用。
无变化。
开发者工具
- 将 JSTerm 的 $ 辅助函数从 getElementById 更改为 querySelector() (Firefox 错误 751749)。
用户代理
用户代理字符串的 Gecko 部分已更改。构建日期(自 2010 年以来未更新)已删除,取而代之的是 Gecko 版本号。因此 Gecko/20100101
-> Gecko/17.0
。如果您正在进行用户代理嗅探,这可能会影响您。
附加组件和 Mozilla 开发者的更改
接口更改
nsIInputStream
-
available()
方法返回 64 位长度而不是 32 位 (Firefox 错误 215450)。 nsIDOMWindowUtils
-
sendMouseScrollEvent()
方法已被sendWheelEvent()
替换 (Firefox 错误 719320)。 nsIFilePicker
-
已添加
open()
方法以异步打开文件对话框,并且show()
方法已弃用 (Firefox 错误 731307)。 nsIScriptSecurityManager
-
checkLoadURIStr()
和checkLoadURI()
方法已被删除 (Firefox 错误 327244)。 nsIRefreshURI
-
setupRefreshURIFromHeader()
方法添加了principal
参数 (Firefox 错误 327244)。
新接口
无。
已删除的接口
无删除。
另请参阅
- Firefox 17 发布说明
- Aurora 17 发布,带来更好的安全性和对新标准的支持(Mozilla Hacks)
- Firefox 17 的附加组件兼容性(附加组件博客)