Firefox 15 开发者版
Firefox 15 于 2012 年 8 月 28 日发布。本文列出了对网页开发者、Firefox 和 Gecko 开发者以及插件开发者都很有用的关键更改。
网页开发者更改
HTML
- 现在根据 HTML5 规范处理
<font>
元素的size
属性。这意味着现在所有大于 10 或小于 -10 的整数值都被认为分别等于 10 和 -10。 - 已删除对
<font>
元素的font-weight
和point-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 连字字符(如fi
)。 - 已实现 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()
,它们允许您查询修饰键(如Ctrl
或Shift
)的状态(错误 630811 和 731878)。但该行为符合最新的 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
。 - 已实现
DeviceProximityEvent
和UserProximityEvent
邻近事件。 - 已实现
File
的lastModifiedDate
属性。(Firefox bug 673586)
JavaScript
- 已添加对来自 Typed Arrays 规范的
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 字体插件 也可以与可伸缩运算符一起使用。 <maction>
的selection
属性现在仅在toggle
actiontype 时才被考虑。- 已删除 已弃用的命名空间绑定 (Firefox bug 673759)。
- 已使 长度 和
<mpadded>
值的受支持语法更接近 MathML3 规范中指定的语法。 - 已将用于阿拉伯语数学的新 MathML 可镜像运算符添加到运算符字典 (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()
的第 5 个参数已从boolean
更改为unsigned long
。为了向后兼容性,如果调用者向其传递true
或false
,则行为不会更改。此更改允许调用者指定键的位置。 nsIBrowserHistory
-
hidePage()
方法从未实现,并且在此版本中已完全删除。addPageWithDetails()
方法也已删除,作为使所有“位置 API”异步的持续工作的一部分;请改为使用mozIAsyncHistory.updatePlaces()
。此外,count
属性已删除;它在一段时间内并未返回实际的计数(相反,它指示是否存在任何条目)。您可以改为使用nsINavHistoryService.hasHistoryEntries
。 inIDOMUtils
-
添加了
inlDOMUtils.parseStyleSheet()
方法,允许(重新)解析级联样式表。 nsIINIParserWriter
-
nsIINIParserWriter.writeFile()
方法现在接受flags
属性。目前只提供一个选项:现在可以告诉它以 UTF-16 格式而不是 UTF-8 格式写入文件,以提高与 Windows 和某些安装程序的兼容性。
新接口
nsISpeculativeConnect
-
提供一种方法,提示网络层您可能在不久的将来请求打开到给定 URI 的连接。这使网络层能够提前开始有时延迟很高的打开新网络连接的过程。
已删除的接口
已删除以下接口。
nsIGlobalHistory