Firefox 40 开发者版
要测试 Firefox 的最新开发者功能,请安装 Firefox 开发者版 Firefox 40 于 2015 年 8 月 11 日发布。本文列出了对 Web 开发人员、Firefox 和 Gecko 开发人员以及附加组件开发人员都有用的关键更改。
Web 开发人员的更改
开发者工具
亮点
- 动画视图的改进
- 获取 MDN 对 CSS 属性语法的帮助
- 在页面检查器中编辑过滤器
- Web 控制台现在显示来自工作线程的消息
- 在网络监视器中按 URL 筛选请求
- 网络监视器中许多新的上下文菜单选项
- 显示网络资源何时从浏览器缓存中获取
- 在页面检查器中筛选规则
更多
CSS
text-decoration-color
、text-decoration-line
和text-decoration-style
的前缀规则 (-moz-
) 已被删除 (Firefox 错误 1097922)。- 属性
text-align
现在支持match-parent
值 (Firefox 错误 645642)。 - 在怪异模式下,
empty-cells
现在默认为show
,就像在标准模式下一样 (Firefox 错误 1020400)。 - 非标准属性
-moz-orient
用于设置<meter>
和<progress>
元素的样式,已针对垂直书写模式进行了调整:已删除auto
值,并添加了inline
和block
值,其中inline
是新的默认值 (Firefox 错误 1028716)。 - 属性
font-size-adjust
已修复,以便将0
视为乘数(导致字体高度为0
,因此将其隐藏),而不是none
值(导致不调整或1.0
值)(Firefox 错误 1144885)。 - 修复文本溢出在垂直书写模式下不起作用 (Firefox 错误 1117227)。
HTML
无变化。
JavaScript
return
语句之后的不可达代码(包括 无分号的 return 语句 之后的不可达表达式)现在将在控制台中显示警告 (Firefox 错误 1005110、Firefox 错误 1151931)。Symbol.match
已添加 (Firefox 错误 1054755)。- 将具有名为
Symbol.match
的属性且其值为 真值 的对象传递给String.prototype.startsWith
、String.prototype.endsWith
和String.prototype.contains
现在会抛出一个TypeError
(Firefox 错误 1054755)。 RegExp
函数在不使用new
且模式对象具有名为Symbol.match
的属性且其值为 真值 以及模式对象的constructor
属性等于RegExp
函数时,会返回模式本身。(Firefox 错误 1147817)。- 对非标准 JS1.7 解构 for-in 的支持已删除 (Firefox 错误 1083498)。
- 非标准初始化表达式 在
for...in
循环中现在会被忽略,并在控制台中显示警告。(Firefox 错误 748550 和 Firefox 错误 1164741)。 \u{xxxxxx}
Unicode 代码点转义已添加 (Firefox 错误 320500)。String.prototype.contains
已替换为String.prototype.includes
,String.prototype.contains
保留为别名 (Firefox 错误 1102219)。- 如果
DataView
构造函数作为函数调用且没有使用new
运算符,则现在会根据 ES2015 规范抛出一个TypeError
。 - 修复了 Firefox 21 中的一个回归问题,其中没有
get
陷阱的代理数组无法正常工作。如果Proxy
中的get
陷阱未定义,则Array.length
返回0
,并且set
陷阱不会被调用。解决方法是在代码中添加get
陷阱,即使在不需要时也是如此。此问题现已修复 (Firefox 错误 895223)。 WeakMap.prototype
和WeakSet.prototype
已更新为普通对象,符合 ES2015 规范 (Firefox 错误 1055473)。
接口/API/DOM
新 API
- 推送 API 已实验性地实现 (Firefox 错误 1038811)。受
services.push.enabled
首选项控制,默认情况下处于禁用状态。
Web 动画 API
我们实验性 Web 动画实现的改进,主要用于匹配最新的规范更改
AnimationPlayer.currentTime
现在也可以设置 (Firefox 错误 1072037)。Animatable.getAnimationPlayers()
(在Element
上可用)已重命名为Element.getAnimations()
(Firefox 错误 1145246)。Animation
和AnimationEffect
已合并到新创建的KeyframeEffectReadOnly
中 (Firefox 错误 1153734)。AnimationPlayer
已重命名为Animation
(Firefox 错误 1154615)。AnimationTimeline
现在是一个抽象类,DocumentTimeline
是其唯一的实现 (Firefox 错误 1152171)。
CSSOM
- CSS 字体加载 API 现在在 Nightly 和开发者版版本中默认启用 (Firefox 错误 1088437)。在 Beta 版和正式版浏览器中,它仍然默认停用。
CSSCharsetRule
接口已被删除,此类对象不再在 CSSOM 中可用 (Firefox 错误 1148694)。这与规范(最近已更新)和 Chrome 行为相匹配。
WebRTC
- WebRTC:现在,`
negotiationneeded
` 事件不仅在重新协商时发送,在初始协商时也会发送(Firefox 错误 1149838)。
DOM 和 HTML DOM
- 当无法解析 `
srcset
` 时,`HTMLImageElement.currentSrc
` 方法不再返回null
,而是返回""
,这符合最新规范的要求(Firefox 错误 1139560)。 - 与图像类似,Firefox 现在会限制对不可见 `
<iframe>
` 的 `Window.requestAnimationFrame()
` 调用(Firefox 错误 1145439)。 - Web 工作线程中不再提供 `
Navigator.taintEnabled
`(Firefox 错误 1154878)。
Web Audio API
Web Audio API 的新扩展
- 添加了 `
AudioContext.state
` 和 `AudioContext.onstatechange
` 属性以及 `AudioContext.suspend()
`、`AudioContext.resume()
` 和 `AudioContext.close()
` 方法(Firefox 错误 1094764)。 - 现在,`
AudioBufferSourceNode
` 实现了 `AudioBufferSourceNode.detune
` `k 速率` 属性(Firefox 错误 1153783)。
Web 工作线程
- 我们对 `Service Worker API` 做了轻微改进:`
update()
` 方法已从 `ServiceWorkerGlobalScope
` 移动到 `ServiceWorkerRegistration
`(Firefox 错误 1131350)。 - 现在,Web 工作线程中可使用 `
ServiceWorkerRegistration
`(Firefox 错误 1131327)。 - 现在,Web 工作线程中可使用 `
DataStore
`(Firefox 错误 916196)。
IndexedDB
- 现在,`
IDBTransaction
` 默认情况下不持久化(Firefox 错误 1112702)。这优先考虑性能而不是可靠性,并且与其他浏览器的做法一致。有关更多信息,请阅读我们的 `持久化定义`。
开发者工具
- 添加了 `
console.timeStamp()
` 属性(Firefox 错误 922221)。
MathML
无变化。
SVG
无变化。
音频/视频
无变化。
网络
无变化。
安全
- 在 `CSP` 中使用星号 (
*
) 在匹配源表达式时不再包含data:
、blob:
或:filesystem
方案。因此,现在需要在相关标头中明确定义这些方案以匹配 CSP(Firefox 错误 1086999)。
附加组件和 Mozilla 开发人员的更改
XUL
- 现在无法创建透明的顶级窗口 Firefox 错误 1162649。
JavaScript 代码模块
- 已删除 Dict.jsm Firefox 错误 1123309。请改用 `
Map
`。
XPCOM
- 已删除
nsIClassInfo.implementationLanguage
属性以及nsClassInfo::GetImplementationLanguage()
函数。 - 已删除以下 XPCOM 接口;您应该改用标准的 HTML 接口
nsIDOMHTMLBRElement
nsIDOMDivElement
nsIDOMHTMLHeadingElement
nsIDOMHTMLTableCaptionElement
nsIDOMHTMLTableElement
nsIDOMHTMLTitleElement
其他
- Places 关键词 API 已弃用,并将很快删除(Firefox 错误 1140395)。
- 自动化测试系统现在支持跳过单个测试函数。请参阅 XPCShell 测试中的 `运行条件测试`。
旧版本
- Firefox 39 开发者版
- Firefox 38 开发者版
- Firefox 37 开发者版
- Firefox 36 开发者版
- Firefox 35 开发者版
- Firefox 34 开发者版
- Firefox 33 开发者版
- Firefox 32 开发者版
- Firefox 31 开发者版
- Firefox 30 开发者版
- Firefox 29 开发者版
- Firefox 28 开发者版
- Firefox 27 开发者版
- Firefox 26 开发者版
- Firefox 25 开发者版
- Firefox 24 开发者版
- Firefox 23 开发者版
- Firefox 22 开发者版
- Firefox 21 开发者版
- Firefox 20 开发者版
- Firefox 19 开发者版
- Firefox 18 开发者版
- Firefox 17 开发者版
- Firefox 16 开发者版
- Firefox 15 开发者版
- Firefox 14 开发者版
- Firefox 13 开发者版
- Firefox 12 开发者版
- Firefox 11 开发者版
- Firefox 10 开发者版
- Firefox 9 开发者版