Firefox 31 开发者发布说明
Firefox 31 于 2014 年 7 月 22 日发布。本文档列出了对 Web 开发者、Firefox 和 Gecko 开发者以及插件开发者有用的主要更改。
面向网络开发者的变更
开发者工具
亮点
CSS
- CSS 变量的 `var-` 前缀已更改为 `--`,以反映最终规范的更改(Firefox bug 985838)。
- `
hyphens` 属性现已支持波兰语断字规则(Firefox bug 987668)。 - 移除了韩语计数样式中每 10,000 个数字之间不想要的空格(Firefox bug 985186)。
- CSS opacity 过渡与父级伪类 `:before` 和 `overflow: auto` 存在 break(Firefox bug 990340)。
- 已移除 `::-moz-math-stretchy` 伪元素(Firefox bug 1000879)。
HTML
- 已实现 `
<track>`(Firefox bug 629350)。
JavaScript
实现了新的 ECMAScript 2015 功能
- 新的 `Array` 内置函数:
Array.prototype.fill()(Firefox bug 911147) - 新的 `Math` 函数:
Math.clz32()(Firefox bug 925123) - 新的 `String` 内置函数:
String.prototype.normalize()在 Firefox 桌面版可用(Firefox bug 918987)。 - 新的 `Object` 方法
Object.setPrototypeOf()。 - 新的 `Number` 常量:
Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER。 - ES2015 Proxy 的
isExtensible陷阱已实现(Firefox bug 978235)。
接口/API/DOM
- `KeyboardEvent` 的构造函数已实现(Firefox bug 930893)。
- 已实现 Resource Timing API(参见 Firefox bug 822480)。
- `KeyboardEvent.isComposing` 属性已实现(Firefox bug 993234)。
- `InputEvent` 接口已实现(Firefox bug 993253)。
- `InputEvent.isComposing` 属性已实现(Firefox bug 993253)。
- 已实现 `
CSS.escape()`(Firefox bug 955860)。 - `
mousemove` 事件现在像其他浏览器一样是可取消的(Firefox bug 704423)。调用 `preventDefault()` 只会将 `defaultPrevented` 属性设置为 `true;`,其他行为均不改变。例如,它不能阻止 `:hover` 状态的设置。 - 已实现 `Path2D` 接口。
- `
CanvasRenderingContext2D.isPointInPath()`、`CanvasRenderingContext2D.isPointInStroke()`、`CanvasRenderingContext2D.clip()`、`CanvasRenderingContext2D.fill()` 和 `CanvasRenderingContext2D.stroke()` 方法已更新,可选择接受 `Path2D` 对象。 - 已实现 `
HTMLMediaElement.fastSeek()`。 - `Connection` 接口已重命名为
NetworkInformation,并已修改以匹配新规范(Firefox bug 960426)。 - 已实现 `Navigator.sendBeacon()`;这允许以一种不依赖于传输页面仍然加载的方式异步传输分析或其他数据,因此它可以在
unload或beforeunload处理程序中使用。
MathML
- 部分实现了 OpenType MATH 表的第 6.3.6 节(Firefox bug 407059)。有关详细信息,请尝试 MathML 压力测试。
- 已移除 `::-moz-math-stretchy` 伪元素(Firefox bug 1000879)。
- 在可用时,Unicode 数学字母数字字符将用于粗体、斜体和粗斜体数学变体(Firefox bug 930504)。
SVG
无更改。
音频/视频
无更改。
安全
面向附加组件和 Mozilla 开发者的变更
-
`urlbar-wrapper`(原为 `urlbar-container`)上的 `align` 属性,该属性自古以来就设置为 `center`,已被移除。已知这会影响第三方主题。您应该仔细研究适合您主题的正确修复方法,但为了保持等效效果,您可以在主题中添加以下 CSS 规则:
css#urlbar-wrapper { -moz-box-align: center; } -
`nsIDOMWindowUtils.sendQueryContentEvent()` 和 `nsIDOMWindowUtils.sendSelectionSetEvent()` 将 `aAdditionalFlags` 作为可选参数。如果您使用 `true` 作为 `aReverse` 调用 `nsIDOMWindowUtils.sendSelectionSetEvent()`,此更改将导致行为损坏。请参阅 每个标志的解释(`QUERY_CONTENT_FLAG_*` 和 `SELECTION_SET_FLAG_*`)以了解 `aAdditionalFlags` 的详细信息。
附加组件 SDK
亮点
- 插件调试器
- 添加了在高级 `BrowserWindow` 对象和 DOM 窗口之间进行转换,以及在高级 `Tab` 对象和 XUL tab 之间进行转换的功能(在高级 BrowserWindow 对象和 DOM 窗口之间进行转换,以及 在高级 Tab 对象和 XUL tab 之间进行转换)。
- 更新了 Mac OS X 上面板的默认主题。
- 向 panel 添加了 `contentStyle` 和 `contentStyleFile` 选项(面板内容的样式)。
Firefox 30 和 Firefox 31 之间的 GitHub 提交。这不包括此版本进入 Aurora 后进行的任何更新。
Firefox 30 和 Firefox 31 之间修复的 Bug。这不包括此版本进入 Aurora 后进行的任何更新。