Firefox 15 开发者版

Firefox 15 于 2012 年 8 月 28 日发布。本文列出了对网页开发者、Firefox 和 Gecko 开发者以及插件开发者都很有用的关键更改。

网页开发者更改

HTML

  • 现在根据 HTML5 规范处理 <font> 元素的 size 属性。这意味着现在所有大于 10 或小于 -10 的整数值都被认为分别等于 10 和 -10。
  • 已删除对 <font> 元素的 font-weightpoint-size 属性的支持;这些属性是非标准的,Gecko 是唯一支持它们的引擎。
  • 现在支持 Opus 编解码器 用于 HTML <audio><video> 元素中 Ogg 容器的音频。
  • <source> 元素现在支持 media 属性。
  • <audio><video> 元素现在支持 played 属性,该属性提供一个 TimeRanges 对象,列出迄今为止已播放的媒体的时间范围。

CSS

  • font-feature-settings 属性已更新为最新的语法:font-feature-settings: "lnum" 1;
  • CSS text-transform 属性已扩展以正确处理 Unicode 连字字符(如 )。
  • 已实现 CSS word-break 属性。
  • border-image 属性已更新以匹配最新的规范,并且属性已取消前缀。(bug 713643
  • 由于现有网站的兼容性,在 Firefox 14 中已删除的 skew() transform 函数已恢复。但是,建议作者改为使用 skewX()skewY() 函数。
  • CSS unicode-bidi 属性的 plaintext 值现在也适用于内联元素。(Firefox bug 746987)。

DOM

  • 已实现 DOM 事件级别 3 方法 KeyboardEvent.getModifierState()MouseEvent.getModifierState(),它们允许您查询修饰键(如 CtrlShift)的状态(错误 630811731878)。但该行为符合最新的 D3E 草案。因此,某些修饰键名称与 IE 不同 (Firefox bug 769190)。
  • 在鼠标事件中,已实现使用 MouseEvent.buttons 属性查询鼠标按钮状态的支持。
  • 在键盘事件中,已实现使用 KeyboardEvent.location 属性查询键位置(标准、修饰键的左侧或右侧、数字小键盘)的支持 (Firefox bug 166240)。
  • KeyboardEvent.keycode 结果已根据更好的规则计算出来,这些规则在 Windows/Linux/Mac 上几乎相同。现在,它们在一些不支持 ASCII 布局的键盘布局(例如阿拉伯语、西里尔语、泰语等)上可用。请参阅 虚拟键码文档
  • range.detach() 方法已转变为一个无操作方法,将来可能会被删除。
  • 已实现 HTMLVideoElement.mozHasAudio() 方法。它指示给定视频元素是否具有关联的音频轨道。(bug 480376
  • Performance API 有一个新方法 now(),支持 DOMHighResTimeStamp 类型的 高分辨率计时器。(bug 539095)。
  • 已更新 WebSMS API,现在支持一个 read 属性,指示 SMS 文本消息是已读还是未读。
  • 已实现 FileHandle API
  • 除了 ArrayBuffer 之外,Blob 构造函数现在还将 ArrayBufferView 作为 blobParts 参数的成员。(bug 752402
  • 已实现 环境光事件工作草案 中指定的 DeviceLightEvent
  • 已实现 DeviceProximityEventUserProximityEvent 邻近事件
  • 已实现 FilelastModifiedDate 属性。(Firefox bug 673586

JavaScript

WebGL

  • 已添加对 WEBGL_compressed_texture_s3tc 扩展的支持。压缩纹理减少了在 GPU 上存储纹理所需的内存量,从而允许使用更高分辨率的纹理或更多相同分辨率的纹理。

MathML

SVG

网络

  • 已实现对 SPDY v3 协议的支持。它默认情况下处于禁用状态,可以通过将首选项 network.http.spdy.enabled.v3 设置为 true 来启用。(bug 737470

插件和 Mozilla 开发者更改

接口更改

nsIDOMWindowUtils

sendMouseEvent()sendTouchEvent()sendMouseEventToWindow()sendMouseScrollEvent()sendKeyEvent()aModifiers 支持 KeyboardEvent.getModifierState() 支持的所有修饰键。使用 MODIFIER_* 值。现在,sendKeyEvent() 的第 5 个参数已从 boolean 更改为 unsigned long。为了向后兼容性,如果调用者向其传递 truefalse,则行为不会更改。此更改允许调用者指定键的位置。

nsIBrowserHistory

hidePage() 方法从未实现,并且在此版本中已完全删除。addPageWithDetails() 方法也已删除,作为使所有“位置 API”异步的持续工作的一部分;请改为使用 mozIAsyncHistory.updatePlaces()。此外,count 属性已删除;它在一段时间内并未返回实际的计数(相反,它指示是否存在任何条目)。您可以改为使用 nsINavHistoryService.hasHistoryEntries

inIDOMUtils

添加了inlDOMUtils.parseStyleSheet()方法,允许(重新)解析级联样式表。

nsIINIParserWriter

nsIINIParserWriter.writeFile()方法现在接受flags属性。目前只提供一个选项:现在可以告诉它以 UTF-16 格式而不是 UTF-8 格式写入文件,以提高与 Windows 和某些安装程序的兼容性。

新接口

nsISpeculativeConnect

提供一种方法,提示网络层您可能在不久的将来请求打开到给定 URI 的连接。这使网络层能够提前开始有时延迟很高的打开新网络连接的过程。

已删除的接口

已删除以下接口。

  • nsIGlobalHistory

另请参阅