Firefox 29 for Developers 发行说明

Firefox 29 于 2014 年 4 月 29 日发布。本文档列出了重要的改动,这些改动不仅对 Web 开发者有用,对 Firefox 和 Gecko 的开发者以及扩展开发者也有帮助。

面向网络开发者的变更

开发者工具

主要改动包括:

请参阅 Mozilla Hacks 博客文章了解详细信息和其他较小的改动。

CSS

HTML

  • <input type=color><input type=number> 默认可用。
  • 已移除对非标准 <pre cols> 的支持,以及 <pre wrap> 的布局效果。这两种效果都可以,并且应该使用 CSS 来实现(Firefox bug 949879)。

JavaScript

接口/API/DOM

  • 一种新型 worker,SharedWorker,现在默认可用(Firefox bug 924089)。
  • URL 接口现在支持 searchParams 属性,它返回一个 URLSearchParams 对象,允许修改 URL 的搜索参数(Firefox bug 887836)。URLSearchParams() 构造函数可以更方便地解析查询字符串。
  • navigator.onLine 属性现在支持 WorkerNavigator,允许在 worker 中了解在线/离线状态(Firefox bug 925437)。
  • 作为 Web Components 实现的一部分,HTMLShadowElement 接口已通过 dom.webcomponents.enabled 启用。如果想使用它,请将其设置为 trueFirefox bug 887538)。
  • 只读属性 HTMLIFrameElement.sandbox 不再是字符串,而是 DOMTokenListFirefox bug 845057)。
  • HTMLCanvasElement.getContext() 上,不再支持 moz-webgl 值。请使用标准的 webgl 值(Firefox bug 913597)。
  • 已添加 ImageData 的构造函数。此接口可以在 Worker 中使用(Firefox bug 959958)。
  • location.origin 属性现在可以在 worker 中(通过 WorkerLocation)访问(Firefox bug 964148)。
  • 已实现 ValidityState.badInput 属性(Firefox bug 827161)。
  • 已移除已弃用的 Window.pkcs11 属性;它自 Firefox 3.0.14 起一直返回 nullFirefox bug 964964)。
  • Node.cloneNode()Document.importNode() 方法接受布尔值 deep 参数。直到现在,如果省略,这些方法将表现为 deep 的值为 true。但根据最新的规范,此行为已更改,如果省略,这些方法将表现为 falseFirefox bug 937461)。
  • Window._content 不再可用于 Web 内容(Firefox bug 946564)。
  • URLUtils.port 的行为已略有改变:设置为 '' 会将其设置为与协议关联的默认端口,设置为 0 会设置为 0Firefox bug 930450)。
  • Document.referrer 现在基于当前脚本(Firefox bug 887928)。
  • Gamepad API 已默认启用(Firefox bug 878828)。
  • CanvasRenderingContext2D.drawSystemFocusRing() 方法已重命名为 CanvasRenderingContext2D.drawFocusIfNeeded()Firefox bug 959820)。

MathML

无更改。

SVG

无更改。

安全

  • 已实现 CSP 1.1 实验性的 hash-source 指令。应将首选项 security.csp.experimentalEnabled 设置为 true 来启用此功能(Firefox bug 883975)。

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

  • Firefox 主题的重大更改影响了大多数与 Firefox 用户界面交互的扩展。
  • 已移除 nsISecurityCheckedComponentFirefox bug 794943)。大多数使用者可以从其接口定义中移除 nsISecurityCheckedComponent,它们将继续正常工作。