Firefox 22 开发者发布说明
Firefox 22 于 2013 年 6 月 25 日发布。本文档列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的主要更新。
面向网络开发者的变更
HTML
- 已实现 HTML5
<data>元素(Firefox bug 839371)。 - 已实现 HTML5
<time>元素(Firefox bug 629801)。 - 已实现 `` 元素的
range状态(<input type="range">),该功能通过首选项dom.experimental_forms_range控制,仅在 Nightly 和 Aurora 通道中默认启用(Firefox bug 841948)。 - 已实现对 `` 元素的支持,该元素是 Web Components 规范的一部分(Firefox bug 818976)。
JavaScript
- 已启用 Asm.js 优化(Asm.js),这使得能够将 C/C++ 应用程序编译为 JavaScript 的一个子集以获得更好的性能。
- 已实现 ES2015 箭头函数语法(Firefox bug 846406)。
- 已添加新的 `Object.is` 函数(Firefox bug 839979)。
- 生成器表达式中的 `arguments` 现在会从封闭的词法作用域继承(Firefox bug 848051)。
- 已实现 ES2015 Proxy 的 `preventExtensions` 陷阱(Firefox bug 789897)。
DOM
- 已移除 `XMLHttpRequest` 上的 `multipart` 属性以及 `XMLHttpRequest` 中的 `multipart/x-mixed-replace` 响应支持。这曾是仅适用于 Gecko 的功能,且从未标准化。现在可以使用 Server-Sent Events、Web Sockets 或在进度事件中检查 `responseText` 来代替。
- 已实现对 Web Notifications 的支持(Firefox bug 782211)。
- `FormData` 的 `append` 方法现在接受一个可选的第三个 `filename` 参数(Firefox bug 690659)。
- 已移除 `Node.isSupported`(Firefox bug 801562)。
- 已为 Web 内容移除了 `Node.setUserData` 和 `Node.getUserData`,并已弃用为 Chrome 内容(Firefox bug 842372)。
- 如规范要求,`Element.attributes` 属性已从 `Node` 移动到此处(Firefox bug 844134)。
- 已实现 Mac OS X 后端对**环境光事件**的支持。
- HTML 命名空间中具有本地名称 ``、`
` 和 ` ` 的元素不再实现 `HTMLSpanElement` 接口。`` 实现 `HTMLUnknownElement`,而 `
` 实现 `HTMLElement`。
- 已更改 `NodeIterator.detach` 方法,使其不执行任何操作(Firefox bug 823549)。
- 已实现 `BlobEvent` 接口(Firefox bug 834165)。
- 已移除 `HTMLMediaElement.crossorigin` 和 `HTMLInputElement.inputmode` 属性,以匹配相应规范中的 `HTMLMediaElement.crossOrigin` 和 `HTMLInputElement.inputMode`(Firefox bug 847370 和 Firefox bug 850346)。
- WebRTC:现在默认支持 Media Stream API 和 Peer Connection API。
- Web Components:已实现 `Document.register()` 方法(Firefox bug 783129)。
- 已移除 `ProgressEvent.initProgressEvent()` 构造函数方法。请使用标准构造函数
ProgressEvent()来构造和初始化 `ProgressEvent`(Firefox bug 843489)。 - 通过 `ClipboardEvent.clipboardData` 属性现在可以访问与 `cut`、`copy` 或 `paste` 事件关联的已操作数据(Firefox bug 407983)。
- 已实现 `HTMLTimeElement` 接口(Firefox bug 629801)。
- 当 `Worker` 构造函数接收到一个无效 URL 时,现在会抛出 `SECURITY_ERR` 类型的 `DOMException`(Firefox bug 587251)。
CSS
- 已默认启用 CSS Flexbox 布局的支持(Firefox bug 841876)。
- 根据规范的更改,`min-width` 和 `min-height` 的初始值已改回 `0`,即使是在 flex 项目上(Firefox bug 848539)。
- 已默认启用 CSS 条件(`@supports` 和 `CSS.supports()`)的支持(Firefox bug 855455)。
- 已在 `background` 简写属性中实现对 `background-clip` 和 `background-origin` 属性的支持(Firefox bug 570896)。
面向附加组件和 Mozilla 开发者的变更
- 已从 `nsITreeView` 的 `nsITreeView.getCellProperties()`、`nsITreeView.getColumnProperties()` 和 `nsITreeView.getRowProperties()` 方法中移除了 `properties` 参数。这些方法现在应返回一个由空格分隔的属性名称字符串(Firefox bug 407956)。
- 已实现 `inIDOMUtils.getCSSPropertyNames()` 方法,该方法将返回所有支持的 CSS 属性名称。
- 有关更多更改,请参阅 Mozilla 博客。
Firefox 开发者工具
- 字体检查器可显示您计算机上应用于页面的字体。
- 视觉绘制反馈模式显示页面何时以及在哪里被重绘。
- 开发者工具现在可以停靠在浏览器右侧,而不仅仅是底部。
- 开发者工具中的一些面板已从 XUL 切换到 HTML。例如,CSS 规则查看器现在是 `chrome://browser/content/devtools/cssruleview.xhtml`,而不是 `cssruleview.xul`。您可以通过添加覆盖层和脚本到外部 XUL 文档来添加加载监听器并更改这些 HTML 文档,而不是直接添加覆盖层来扩展这些面板的功能。
- 堆栈跟踪现在显示为顶部附近的“面包屑”导航,脚本列表现在位于调试器的左侧面板。