Firefox 21 开发者版
Firefox 21 于 2013 年 5 月 14 日发布。本文列出了对网页开发者、Firefox 和 Gecko 开发者以及附加组件开发者有用的主要更改。
针对网页开发者的更改
HTML
scoped
属性已添加到<style>
元素。它允许包含与文档其余部分隔离的样式。此类样式可以使用在 Firefox 20 中引入的:scope
CSS 伪元素进行选择。(Firefox 错误 508725)。- 新的 HTML
<main>
元素已实现(Firefox 错误 820508)。
JavaScript
- EcmaScript for XML (E4X) 已被移除,它是一个古老的 JavaScript 扩展。它仅在 Gecko 中实现,从未获得显著的关注(Firefox 错误 788293)。
parseInt
现在不再将以 "0" 开头的字符串视为八进制数(Firefox 错误 786135)。
CSS
-moz-user-select
的none
值现在与-moz-none
值的行为相同,使 Gecko 与 WebKit (Chrome、Safari)、Presto (Opera) 和 Trident (Internet Explorer) 保持一致(Firefox 错误 816298)。- 在 XHTML 内容上,
-moz-hyphens
的auto
值在未明确声明语言时会错误地应用连字符规则。此问题已通过 (Firefox 错误 702121) 修复。 - CSS
-moz-orient
属性已添加auto
值。auto
值在应用于<meter>
和<progress>
时等效于horizontal
(Firefox 错误 835883)。 - 媒体查询
-moz-windows-glass
已在 Windows 7 及更早版本的 Windows 系统上添加(Firefox 错误 816803)。
DOM
- 对
RTCPeerConnection
(作为MozRTCPeerConnection
) 的支持现在默认启用(Firefox 错误 796463)。如果需要,可以通过将media.peerconnection.enabled
设置为 false 来禁用它。 origin
属性已添加到window.location
(Firefox 错误 828261)。valueAsDate
和valueAsNumber
方法已添加到<input type="time">
(Firefox 错误 781570)。min
和max
属性现在也适用于<input type="time">
(Firefox 错误 781572)。- 一些用于音量控制的新 keyCodes 已受支持(Firefox 错误 674739)。
- 一些用于古代键盘布局(例如 AS/400)的新 keyCodes 现在在 Windows 和 Linux 上受支持(Firefox 错误 833719)。
- Windows 上 OEM 特定键的一些新 keyCode 值现在再次受支持(Firefox 错误 833719)。
window.crypto.getRandomValues
函数已实现(Firefox 错误 440046)。- 非标准方法
NodeIterator.expandEntityReferences()
和TreeWalker.expandEntityReferences()
已被移除(Firefox 错误 672190)。 - CSSOM:
CSSKeyframesRule
的方法insertRule
已被移除为CSSKeyframesRule
的appendRule
,以匹配规范更改(Firefox 错误 841896)。 - CSSOM:如果传递给
CSSStyleSheet.insertRule
的给定参数包含多个规则,则会抛出具有SYNTAX_ERR
的DOMException
(Firefox 错误 765599)。 - 到目前为止,当使用
XMLHttpRequest.setRequestHeader
重复设置相同的标头时,将使用最后指定的价值。此行为已更改为符合规范,因此这些值将被正确组合(Firefox 错误 819051)。
SVG
paint-order
属性已实现(Firefox 错误 828805)。svg.smil.enabled
首选项已移除。SMIL 始终处于开启状态。(Firefox 错误 835030)
网络
- 我们继续更新 CSP 实现以匹配 CSP 1.0 规范,该规范已达到候选推荐阶段。
- 已添加对符合规范的
Content-Security-Policy
HTTP 标头 (除了实验性X-Content-Security-Policy
) 的支持(Firefox 错误 783049)。注意:此新标头的补丁已在 Firefox 21 中发布,它在构建中被禁用(Firefox 错误 842657)。
- 已添加对符合规范的
Worker
URL.createObjectURL()
和URL.revokeObjectURL()
函数现在包含在可用于 worker 的函数集中。
针对附加组件和 Mozilla 开发者的更改
- FUEL 应用程序不能再使用 Livemarks 服务(Firefox 错误 834492)。Livemarks 服务已弃用并逐步淘汰,取而代之的是新的异步接口。
resource:///modules/
和resource://gre/modules/
现在不再相同(Firefox 错误 755724)。此更改是由于 Firefox 的 Metro 版本工作所致。如果您使用resource:///modules/
加载模块,您应该检查是否现在要使用resource://gre/modules/
。请注意,一些模块也从 Firefox 移动到了 Toolkit(Firefox 错误 840287 和 Firefox 错误 811548 分别移动了NewTabUtils.jsm
和缩略图模块)。- 附加组件 SDK 现在已包含在 Firefox 中(Firefox 错误 731779)
- 历史记录 API 看到许多已弃用的 API 被移除
- 被
mozIAsyncFavicons
替换nsIFaviconService::setFaviconUrlForPage
nsIFaviconService::setFaviconData
nsIFaviconService::getFaviconData
nsIFaviconService::getFaviconForPage
nsIFaviconService::setAndLoadFaviconForPage
nsIFaviconService::getFaviconImageForPage
nsIFaviconService::getFaviconDataAsDataURL
- 被
mozIAsyncLivemarks
替换nsILivemarkService::*
PlacesUtils.itemIsLivemark
PlacesUtils.nodeIsLivemarkContainer
PlacesUtils.nodeIsLivemarkItem
- 仅移除第三个参数
PlacesUIUtils.showBookmarkDialog
- 不再由 Places 实现,请改用
mozIAsyncHistory
nsIGlobalHistory2::addURI
nsIGlobalHistory2::isVisited
nsIGlobalHistory2::setPageTitle
- 不再需要,请改用
onDeleteURI
或onItemRemoved
nsINavHistoryObserver::OnBeforeDeleteURI
nsINavBookmarkObserver::OnBeforeItemRemoved
- 从未正确实现
nsINavHistoryFullVisitResultNode
- 已弃用,请改用
mozIAsyncHistory::updatePlaces
nsINavHistoryService::AddVisit
- 被
- 添加了
nsIHttpChannel.redirectTo
,用于在不使用脆弱技巧的情况下重定向 HTTP 通道。
另请参阅
旧版本
- Firefox 20 开发者版
- 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 开发者版