开发者版 Firefox 20
Firefox 20 于 2013 年 4 月 2 日发布。本文提供有关此版本中将影响开发人员的更改的信息。
Web 开发人员的更改
HTML
- 已添加对
download
属性在<a>
和<area>
元素上的支持 (Firefox 错误 676619)。 - 已实现 全局属性
dir
的值auto
(Firefox 错误 548206)。 - 全局属性
contextmenu
现在可在 Android 版 Firefox 上使用 (Firefox 错误 736321)。
JavaScript
- 已添加对
WeakMap.prototype.clear()
方法的支持,该方法最近已添加到 Harmony (ECMAScript 2015) 草案提案中 (Firefox 错误 814562)。 - 支持
Math.imul()
方法,这是一个 C 样式的 32 位乘法函数。尽管已提议用于 Harmony (ECMAScript 2015),但尚未被接受,并且仍然是非标准的 (Firefox 错误 808148)。 - 即使使用 Cairo 画布后端,使用 Kinetic 3.x 进行可拖动文本的 Web 应用程序也能正常工作 (Firefox 错误 835064)。
for each...in
语句已弃用,不应使用。请考虑使用新的for...of
语句 (Firefox 错误 804834)。- 已添加对
Map.prototype.keys()
、Map.prototype.values()
和Map.prototype.entries()
的支持 (Firefox 错误 817368)。
CSS
- CSS Flexbox 现在仅在预发布版本中默认可用(不包括 Beta 版本)。可以通过将
layout.css.flexbox.enabled
about:config 首选项设置为true
来在发布版和 Beta 版本中启用它。 - 已添加来自 CSS 遮罩规范 的
mask-type
属性 (Firefox 错误 793617)。 - 已添加对
:scope
伪类的实验性支持。在 Aurora 和 Nightly 中默认启用,可以通过将layout.css.scope-pseudo.enabled
about:config 首选项设置为true
来在发布版和 Beta 版本中启用它 (Firefox 错误 648722)。
DOM/API
HTMLMediaElement
现在支持playbackRate
(读写),并进行音调校正。可以使用属性mozPreservesPitch
控制音调校正 (Firefox 错误 495040)。- CSSOM:已添加对新的
CSSGroupingRule
和CSSConditionRule
的支持 (Firefox 错误 814907)。 - CSSOM:在
CSSRule
上,常量 CSSRule.MOZ_KEYFRAME_RULE 和 CSSRule.MOZ_KEYFRAMES_RULE 已取消前缀,变为 CSSRule.KEYFRAME_RULE 和 CSSRule.KEYFRAMES_RULE。已暂时保留前缀版本,以帮助 Web 作者过渡其代码 Firefox 错误 816431)。 - CSSOM:现在可以为
CSSMediaRule
设置conditionText
的值 (Firefox 错误 815021)。 DOMParser
的parseFromStream
和parseFromBuffer
方法不再可从 Web 内容中获得 (Firefox 错误 816410)。XMLSerializer
的serializeToStream
方法不再可从 Web 内容中获得 (Firefox 错误 816410)。TextDecoder
和TextEncoder
接口现在可在 Worker 中使用 (Firefox 错误 795542)。- 已添加对
CSS.supports()
方法的支持,位于layout.css.supports-rule.enabled
首选项之后(默认关闭)(Firefox 错误 779917)。 - 已添加对 UndoManager 的支持 (Firefox 错误 617532)。
- 已实现 CSSOM 的
Document.caretPositionFromPoint()
方法,该方法返回一个CaretPosition
。 - 根据 HTML 规范,
HTMLTableRowElement.insertCell()
和HTMLTableElement.insertRow()
方法的索引参数已变为可选。 Navigator.getUserMedia
(仍以前缀Navigator.mozGetUserMedia
存在)现在默认启用。- 现在支持
Window.postMessage
的第三个可选参数transfer
。它允许将一系列 可传输对象 传输到目标 (Firefox 错误 822094)。 - 非标准的
Window.sizeToContent()
方法现在会限制最小尺寸:窗口不能再被强制缩小到阻止用户交互的尺寸 (Firefox 错误 764240)。 - 混合模式(例如
overlay
、color-burn
、hue
等)已添加到 Canvas 的CanvasRenderingContext2D.globalCompositeOperation
属性 (Firefox 错误 748433)。 window.indexedDB
的前缀版本 -window.mozIndexedDB
- 已重新引入 Gecko,以便错误的跨浏览器前缀代码(例如var indexedDB = window.indexedDB || window.webkitIndexedDB …
)在 Firefox 中不会中断。更好的方法是window.indexedDB = window.indexedDB || window.webkitIndexedDB …
(请参阅 Firefox 错误 770844)。
SVG
- 已从
SVGSVGElement
中删除了contentScriptType
和contentStyleType
属性的实现,以及从 SVG2 中的删除 (Firefox 错误 819731)。
MathML
- 为了帮助 MathML 作者调试其文档中的“无效标记”错误,MathML 解析错误(例如子元素过多/过少)以及有关已弃用属性或错误属性值的警告现在会报告到错误控制台。
scriptminsize
属性现在接受无单位值和百分比值。它们被解释为默认值(“8pt
”)的倍数。- 无单位值现在也允许用于
mathsize
和fontsize
属性;它们乘以默认值。
加载项和 Mozilla 开发人员的更改
- EcmaScript for XML (E4X) 现在已完全禁用所有 chrome 和内容脚本。之前已在 Firefox 17 中禁用内容,并已从 Firefox 21 中完全删除。请改用 DOMParser/DOMSerializer 或非本机 JXON 算法。
nsIDOMParserJS
接口不再存在 (Firefox 错误 816410)。请参阅nsIDOMParser
以获取替代方案。- 内容首选项:
nsIContentPrefService
接口现已弃用,并且已实现异步nsIContentPrefService2
存储 API。 nsIProfile
和nsIProfileChangeStatus
接口已删除,以及其他支持 Firefox 前配置文件管理系统的代码。您可能没有使用这些接口,但如果您使用了,则应停止使用。这可以防止配置文件管理系统的失效部分否决关闭过程。nsIEventSource
接口不再存在 (Firefox 错误 819639)。
另请参阅
旧版本
- 开发者版 Firefox 19
- 开发者版 Firefox 18
- 开发者版 Firefox 17
- 开发者版 Firefox 16
- 开发者版 Firefox 15
- 开发者版 Firefox 14
- 开发者版 Firefox 13
- 开发者版 Firefox 12
- 开发者版 Firefox 11
- 开发者版 Firefox 10
- 开发者版 Firefox 9
- 开发者版 Firefox 8
- 开发者版 Firefox 7
- 开发者版 Firefox 6
- 开发者版 Firefox 5
- 开发者版 Firefox 4
- 开发者版 Firefox 3.6
- 开发者版 Firefox 3.5
- 开发者版 Firefox 3
- 开发者版 Firefox 2
- 开发者版 Firefox 1.5