Firefox 15 for developers 发行说明
Firefox 15 于 2012 年 8 月 28 日发布。本文档列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都很有用的重要变更。
面向网络开发者的变更
HTML
- 现在,
<font>元素的size属性将按照 HTML5 规范进行处理。这意味着所有大于 10 或小于 -10 的整数值现在分别被视为等同于 10 和 -10。 - 已移除对
<font>元素上的font-weight和point-size属性的支持;这些属性是非标准的,并且只有 Gecko 支持它们。 - 现在,HTML 的
<audio>和<video>元素在 Ogg 容器中支持 Opus 音频编解码器。(Opus codec) - 现在,
<source>元素支持media属性。 - 现在,
<audio>和<video>元素支持played属性,该属性提供一个TimeRanges对象,列出到目前为止已播放的媒体的时间范围。
CSS
font-feature-settings属性已更新为最新语法:font-feature-settings: "lnum" 1;- CSS
text-transform属性已扩展,以正确处理 Unicode 连字字符(例如fi)。 - 已实现 CSS
word-break属性。 border-image属性已更新以匹配最新的规范,并且属性已移除前缀。(bug 713643)skew()transform函数在 Firefox 14 中被移除,但由于现有网站兼容性问题已恢复。但是,建议作者使用skewX()和skewY()函数。- CSS
unicode-bidi属性的plaintext值现在也适用于内联元素。(Firefox bug 746987)。
DOM
- DOM Events Level 3 方法
KeyboardEvent.getModifierState()和MouseEvent.getModifierState()已实现,这些方法允许您查询修饰键(如Ctrl或Shift)的状态(bugs 630811 和 731878)。但行为符合最新的 D3E 草案。因此,某些修饰键名称与 IE 不同(Firefox bug 769190)。 - 在鼠标事件中,已实现使用
MouseEvent.buttons属性查询鼠标按钮状态的支持。 - 在键盘事件中,已实现使用
KeyboardEvent.location属性查询按键位置(标准、修饰键的左侧或右侧、在数字小键盘上)的支持。(Firefox bug 166240)。 KeyboardEvent.keycode的结果已根据更优化的规则计算,这些规则在 Windows/Linux/Mac 上几乎相同。现在,在 Linux 和 Mac 上的一些非 ASCII 字符集键盘布局(例如阿拉伯语、西里尔语、泰语等)上也可以使用。请参阅 虚拟键码文档。range.detach()方法已转换为无操作(no-op),并可能在将来被移除。- 已实现
HTMLVideoElement.mozHasAudio()方法。它指示给定的视频元素是否关联了音频轨道。(bug 480376) PerformanceAPI 新增了一个方法now(),支持DOMHighResTimeStamp类型的精确计时器。(bug 539095)。- 已更新 WebSMS API,现在支持一个
read属性,用于指示短信是否已读或未读。 - 已实现 FileHandle API。
- 现在,除了
ArrayBuffer之外,Blob构造函数还能接受ArrayBufferView作为blobParts参数的成员。(bug 752402) - 已实现 Ambient Light Events Working Draft 中指定的
DeviceLightEvent。 - 已实现 Proximity Events 的
DeviceProximityEvent和UserProximityEvent。 - 已实现
FilelastModifiedDate属性。(Firefox bug 673586)
JavaScript
- 已添加对类型数组规范中
DataView接口的支持。这提供了对ArrayBuffer中数据的低级访问。 - 已添加对新的 ECMAScript 2015 内置函数支持:
Number.isNaN()、Number.toInteger()、Number.isInteger()、Number.isFinite()。(bug 749818、bug 761495、bug 761480)。 - 已添加对 ECMAScript 2015 默认参数的支持。(bug 757676)。
- 已添加对 ECMAScript 2015 剩余参数的支持。(bug 574132)。
WebGL
- 已添加对
WEBGL_compressed_texture_s3tc扩展的支持。压缩纹理减少了在 GPU 上存储纹理所需的内存量,从而可以使用更高分辨率的纹理或更多的相同分辨率的纹理。
MathML
- 数学运算符现在可以使用
@font-face指定的可下载字体。这使得 MathML-fonts 附加组件也可以与可伸缩运算符一起使用。 <maction>元素的selection属性现在仅在toggleactiontype 时才被考虑。- 已移除已弃用的命名空间绑定。(Deprecated namedspace binding)(Firefox bug 673759)。
- 对 Length 和
<mpadded>值的支持已更接近 MathML3 规范中的定义。 - 已向运算符字典添加了新的阿拉伯数学镜像运算符(Firefox bug 757125)。
SVG
- 已添加对
<view>元素的支持。(Firefox bug 512525)。
网络
- 已合并对 SPDY v3 协议的支持。默认禁用,可以通过将首选项
network.http.spdy.enabled.v3设置为 true 来启用。(bug 737470)
面向附加组件和 Mozilla 开发者的变更
接口更改
nsIDOMWindowUtils-
sendMouseEvent()、sendTouchEvent()、sendMouseEventToWindow()、sendMouseScrollEvent()和sendKeyEvent()的aModifiers支持KeyboardEvent.getModifierState()支持的所有修饰键。请使用MODIFIER_*值。现在sendKeyEvent()的第五个参数已从boolean更改为unsigned long。为了向后兼容,如果调用者传递true或false,行为不会改变。此更改允许调用者指定按键的位置。 nsIBrowserHistory-
hidePage()方法从未实现过,并且在此版本中已被完全移除。作为使所有“Places API”异步的持续工作的一部分,addPageWithDetails()方法也被移除;请改用mozIAsyncHistory.updatePlaces()。此外,count属性也被移除;它在一段时间内都没有返回实际计数(而是指示是否存在任何条目)。您可以使用nsINavHistoryService.hasHistoryEntries代替。 nsIDOMUtils-
已添加
nsIDOMUtils.parseStyleSheet()方法,该方法允许(重新)解析层叠样式表。 nsIINIParserWriter-
nsIINIParserWriter.writeFile()方法现在接受一个flags属性。目前只有一个选项:您可以告知它以 UTF-16 格式写入文件,而不是 UTF-8,以便与 Windows 和某些安装程序更好地兼容。
新接口
nsISpeculativeConnect-
提供了一种向网络层提示您很可能在不久的将来打开到给定 URI 的连接的方法。这使得网络层可以提前开始有时延迟很高的打开新网络连接的过程。
已移除的接口
以下接口已被移除
nsIGlobalHistory