Firefox 33 开发者发行说明

Firefox 33 于 2014 年 10 月 14 日发布。本文列出了对 Web 开发者、Firefox 和 Gecko 开发者以及插件开发者都有用的主要变更。

面向网络开发者的变更

开发者工具

亮点

  • 事件监听器弹出窗口
  • @media 侧边栏
  • 添加新规则
  • 编辑关键帧
  • 三次贝塞尔编辑器
  • 变换高亮
  • 持久禁用缓存
  • 新命令
  • 编辑器偏好设置
  • WebIDE

更多详情,请 参阅 hacks 文章。特别感谢 33 位贡献者为本次发布贡献了 所有功能和修复

CSS

HTML

  • 增加了对 <picture> 元素的实验性支持(Firefox bug 870022),该功能由 dom.image.picture.enabled 偏好设置控制(默认关闭)。

  • <label>,尤其是没有 for 属性的 <label>,不再适用于 <input type=hidden> 字段(Firefox bug 597650)。之前的行为不符合规范。

  • noreferrer 链接注释已在 <a> 元素上实现。<a rel="noreferrer"> 在发送给服务器获取链接的 HTTP 请求中将不包含引用者 URL(Firefox bug 530396)。请注意,这仅适用于页面内链接,不适用于通过 UI 点击的链接,例如上下文菜单。

  • 在 Android 上,已为 <meta> 元素的 name 属性添加了对两个新值的支持:msapplication-TileImagemsapplication-TileColorFirefox bug 1014712)。示例:

    html
    <meta name="msapplication-TileImage" content="images/my-img-144.png" />
    <meta name="msapplication-TileColor" content="#d83434" />
    

JavaScript

  • 已移除非标准方法 Number.toInteger()Firefox bug 1022396)。
  • Map.prototype.set()WeakMap.prototype.set()Set.prototype.add() 方法现在可以链式调用,返回其等效对象,不再返回 undefinedFirefox bug 1031632)。
  • 默认参数在函数体内的函数声明之前进行求值,因此不能从默认参数中引用这些函数(Firefox bug 1022962)。
  • 对象字面量现在允许使用简写属性:如果未显式定义,属性键将由同名变量初始化。例如,function f(x, y) { return {x, y}; } 等同于 function f(x, y) { return {x: x, y: y}; }Firefox bug 875002)。
  • yieldyield* 的解析已更新,以符合最新的 ES2015 规范(Firefox bug 981599)。
  • 已移除非标准的 hasOwn trap(Firefox bug 980565)。

接口/API/DOM

  • 已实现 RadioNodeList API,选中的单选按钮可通过 RadioNodeList.value 访问(Firefox bug 779723)。
  • 已添加 DOMMatrixFirefox bug 1018497)。
  • 添加了一个非标准的(但在其他浏览器中已实现)DOMException.stack 属性。它返回一个字符串,包含人类可读的格式化堆栈(Firefox bug 857648),格式与现有的非标准 Error.stack 属性相同。
  • 对于 <canvas>,实现了 CanvasPattern.setTransform() 方法,该方法允许使用线性变换的 DOMMatrix 表示来修改模式(Firefox bug 1019257)。
  • 我们对 Media Source Extensions 的实验性实现,由 media.mediasource.enabled 偏好设置控制,仅在 Nightly 和 Aurora 版本中默认启用,现在支持 MP4(Firefox bug 1000686)。
  • HTMLMediaElement.audioTracksHTMLMediaElement.videoTracks 属性已进行实验性实现。它们由 media.track.enabled 控制,默认关闭(Firefox bug 744896)。
  • 非标准的 XMLHttpRequest.mozBackgroundRequest() 不再可从网站访问。只有 Firefox 内部代码(Chrome 代码)可以使用它(Firefox bug 1035242)。
  • 已从规范中移除的 touchentertouchleave 事件已被移除(Firefox bug 1036444)。
  • HTMLTrackElement 上发送的先前称为 loaded 的事件已重命名为 load,以符合规范(Firefox bug 1035505)。
  • IndexedDB 接口 FileHandle 已重命名为 IDBMutableFileFirefox bug 1006485)。
  • IndexedDB 接口 LockedFile 已重命名为 IDBFileHandleFirefox bug 1006485)。
  • ServiceWorker 接口已在 dom.serviceWorkers.enabled 标志下实现(Firefox bug 903441)。
  • NetworkInformation.type 现在也支持 "unknown" 值(Firefox bug 1023029)。

MathML

SVG

无更改。

音频/视频/WebRTC

WebGL

  • 现在公开了 EXT_blend_minmax。它通过添加两个新的混合方程来扩展混合功能:生成源和目标颜色的最小或最大颜色分量(Firefox bug 973815)。

安全

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

  • JavaScript Debugger Service (JSD) 已被移除,取而代之的是新的 Debugger APIFirefox bug 800200)。
  • nsIX509CertDB2 接口已被移除,该接口的方法已移至 nsIX509CertDB 接口。

附加组件 SDK

亮点

  • 通过 `Panel` 构造函数中的新选项,增加了对面板中上下文菜单的支持。
  • 添加了 `tab.readyState`。
  • 向 `sidebar.show()` 和 `sidebar.hide()` 添加了 `BrowserWindow` 参数,以控制将显示或隐藏侧边栏的窗口。

详情

Firefox 32 和 Firefox 33 之间的 GitHub 提交。这不包括此版本进入 Aurora 之后进行的任何更新。

Firefox 32 和 Firefox 33 之间的已修复 Bug。这不包括此版本进入 Aurora 之后进行的任何更新。