Firefox 14 发布说明(面向开发者)
Firefox 14 于 2012 年 7 月 17 日发布。本文档列出了对 Web 开发者、Firefox 和 Gecko 开发者以及插件开发者有用的重要变更。
面向网络开发者的变更
HTML
<progress>元素不再被错误地归类为表单元素,因此不再具有form属性。- Mac 系统上 HTML 内容的
accesskey的默认修饰键已更改为 Control+Option。这与 Mac 上的 WebKit 浏览器相同。
DOM
- 现在,在
contenteditable编辑器的编辑宿主元素和designMode编辑器的根元素上也会触发input事件。 - 根据最新的 DOM Level 4 规范,
DOMException.code已被弃用。 - 现在,当在折叠的范围上使用时,
Range.insertNode()方法可以正常工作。 MozBlobBuilder接口已被弃用,取而代之的是Blob上的构造函数。如果您使用MozBlobBuilder,将在 Web 控制台中看到警告消息。- 现在,
Blob()构造函数可用于 worker(Firefox bug 736686)。 - 已实现对
Mutation Observers的支持。它被设计为 DOM3 中Mutation Events的替代方案,后者在性能方面存在一些问题。 HTMLImageElement接口的x和y属性在 Firefox 7.0 中被移除,但在本次发布中因兼容性原因已恢复。Document方法execCommandShowHelp()和queryCommandText()(它们从未执行任何操作)已被移除。GeoPositionAddress接口(GeolocationAPI 的一个过时部分)已被移除。- 现在,通过属性访问,
localStorage/sessionStorage对于未声明的键将正确返回undefined而不是null。 - 已实现
ImageData对象(Firefox bug 550309)。 Attr接口中与子节点相关的属性和方法已被弃用(Firefox bug 737122)。
CSS
- 已修复
text-transform和font-variantCSS 属性,以正确处理i→İ和ı→I这两个特定于 突厥语族 的大小写对。 - 现在,
text-transform: capitalization可以正确处理荷兰语 IJ 字母组合。同样,现在text-transform: lowercase可以正确处理希腊字母Σ,它有两种小写形式σ和ς。 - 已从
transform属性中移除对skew()函数的支持,因为它已从草案标准中移除。 border-image的语法已更新,以匹配规范的最新修订;它不再接受尾随斜杠 ("/")。
JavaScript
无更改。
MathML
<maction>元素上statusline操作类型的语法已根据 MathML 规范进行了调整。
HTTP
- Gecko 现在支持新的 HTTP
308 Permanent Redirect状态码。由于 Gecko 不区分永久重定向和临时重定向,其行为与307 Temporary Redirect状态码相同,因为它禁止用户代理更改两个请求之间使用的 HTTP 方法(POST保持POST,GET保持GET)。
Mozilla 和附加组件开发者的更改
JavaScript 代码模块
source-editor.jsm
- 添加了一个键盘快捷键,用于切换当前选区的注释(Mac OS X 上的 Ctrl-/ 或 Cmd-/)。
- 添加了 Ctrl-[ 和 Ctrl-] 键盘快捷键,用于将文本输入位置移动到当前块的开头和结尾。
- 添加了新的
getLineStart()和getLineEnd()方法。
XUL
- 向
<window>元素添加了新的fullscreenbutton属性;将其设置为true会在窗口的 chrome 中添加一个按钮,用于启用全屏模式。
接口
nsILocalFile接口已合并到nsIFile中(bug 682360)。nsIPlacesImportExportService中导入书签的方法已全部移除,取而代之的是BookmarkHTMLUtils.jsmJavaScript 代码模块。nsIDOMGeoPositionAddress接口已被移除。nsINavBookmarksService中已移除getItemGUID、setItemGUID和getItemIdForGUID方法(Firefox bug 715355)。
拼写检查
- 字典名称现在被解析为完整的 BCP 47 语言标签(bug 730209,bug 741842)。鼓励开发者不要在字典名称中硬编码其语言名称。