Firefox 41 开发者版
要测试 Firefox 的最新开发者功能,请安装 Firefox 开发者版 Firefox 41 于 2015 年 9 月 22 日发布。本文列出了对 Web 开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的关键更改。
针对 Web 开发者的更改
开发者工具
亮点
- 截取 DOM 节点的屏幕截图
- 复制为 HAR/保存为 HAR
- "添加规则" 按钮位于规则视图中
- 在选项卡中查看源代码(默认情况下禁用)
- 更多复制 CSS 规则的选项
- 在规则视图中将图像复制为 data: URL
- 在 GCLI 中添加了显示 CSP 信息的命令
Firefox 40 和 Firefox 41 之间修复的所有开发者工具错误:请注意,其中许多错误,尤其是与性能工具相关的错误,已提升到 Firefox 40。
CSS
- 默认情况下已启用对垂直脚本布局的支持(Firefox 错误 1138384)。这意味着以下 CSS 属性现在可用
- 选择书写方向:
writing-mode
。 - 控制字符的方向:
text-orientation
。 width
和height
的方向无关等价物:block-size
和inline-size
。min-width
和min-height
的方向无关等价物:min-block-size
和min-inline-size
。max-width
和max-height
的方向无关等价物:max-block-size
和max-block-size
。margin-top
、margin-right
、margin-bottom
和margin-left
的方向无关等价物:margin-block-start
、margin-block-end
、margin-inline-start
和margin-inline-end
。padding-top
、padding-right
、padding-bottom
和padding-left
的方向无关等价物:padding-block-start
、padding-block-end
、padding-inline-start
和padding-inline-end
。border-top
、border-right
、border-bottom
和border-left
及其宽度、样式和颜色的完整写法方向无关等价物:border-block-start
、border-block-start-width
、border-block-start-style
、border-block-start-color
、border-block-end
、border-block-end-width
、border-block-end-style
、border-block-end-color
、border-inline-start
、border-inline-start-width
、border-inline-start-style
、border-inline-start-color
、border-inline-end
、border-inline-end-width
、border-inline-end-style
和border-inline-end-color
。top
、right
、bottom
和left
的方向无关等价物:offset-block-start
、offset-block-end
、offset-inline-start
和offset-inline-end
。
- 选择书写方向:
- 在 SVG 中支持
transform-origin
属性并实现transform-box
属性(Firefox 错误 923193)。
HTML
<a>
没有href
属性不再被归类为交互式内容。在<label>
内部点击它将激活标记的内容(Firefox 错误 1167816)。- SVG 图标现在支持网站图标,即网站徽标和快捷方式图标(Firefox 错误 366324)。
- 现在
crossorigin
属性支持 <link rel='preconnect'>(Firefox 错误 1174152)。 - 图片元素对调整大小/视口更改没有反应(Firefox 错误 1135812)。
JavaScript
Date.prototype
现在是一个普通对象,不再是Date
实例(Firefox 错误 861219)。Date.prototype.toString
现在是一个通用方法(Firefox 错误 861219)。Symbol.species
已添加(Firefox 错误 1131043)。Map[@@species]
和Set[@@species]
获取器已添加(Firefox 错误 1131043)。- 非标准 let 表达式 支持已删除(Firefox 错误 1023609)。
- 带有默认值赋值的解构参数 现在已支持(Firefox 错误 1018628)。
- 根据 ES2015,方法定义 需要花括号。从现在开始,不使用花括号的语法将失败(Firefox 错误 1150855)。
- 方法定义(生成器方法除外)不再可构造(Firefox 错误 1059908 和 Firefox 错误 1166950)。
- 作为 ES2015 规范合规性的一部分,带括号的 解构 模式,如
([a, b]) = [1, 2]
或({a, b}) = { a: 1, b: 2 }
,现在被认为无效,并将抛出SyntaxError
。有关更多详细信息,请参阅 Jeff Walden 的博客文章。 new.target
语法已添加(Firefox 错误 1141865)。
接口/API/DOM
HTML 编辑 API
- 剪切、复制和粘贴命令处理已改进,现在允许通过 JS 以编程方式从 Web 内容中复制和剪切
- 使用
'paste'
命令作为参数,Document.queryCommandSupported()
现在在权限不足以实际执行操作时返回false
(Firefox 错误 1161721)。 - 使用
'cut'
或'copy'
命令作为参数,Document.queryCommandSupported()
现在在用户启动或特权代码的上下文中调用时返回true
(Firefox 错误 1162952)。 - 使用
'cut'
或'copy'
命令作为参数,Document.execCommand()
现在可以工作,但仅在用户启动或特权代码的上下文中工作(Firefox 错误 1012662)。 - 当命令不受支持或未启用时,
Document.execCommand()
不会引发异常(Firefox 错误 1027560)。
- 使用
事件
CloseEvent
事件的非标准initCloseEvent()
方法以及使用document.createEvent('CloseEvent')
方法创建CloseEvent
的功能已删除;请改用标准构造函数CloseEvent()
(Firefox 错误 1161950)。- 在桌面版上,
PointerEvent
现在在 Nightly 版本中默认启用;在开发者版、测试版或正式版中未启用,并且至少在未来几个版本中都不会启用 (Firefox bug 1166347)。 MouseEvent.movementX
和MouseEvent.movementY
的非前缀版本已添加;前缀版本已弃用,并将在未来的某个时间点移除 (Firefox bug 1164981)。
Web 加密
SubtleCrypto.importKey()
和SubtleCrypto.exportKey()
现在支持ECDH
密钥 (Firefox bug 1050175)。
Canvas API
HTMLCanvasElement.captureStream()
和CanvasCaptureMediaStream
已添加,并允许实时流式传输<canvas>
的显示 (Firefox bug 1032848)。MediaStream.id
现在返回流的唯一 ID (Firefox bug 1089798)。CanvasRenderingContext2D.filter
的初始值现在已正确设置为none
(Firefox bug 1163124)。
服务工作线程
- 对我们的实验性 服务工作线程 实现进行了改进
ServiceWorkerGlobalScope.skipWaiting()
已实现 (Firefox bug 1131352)。Clients.claim()
已添加 (Firefox bug 1130684)。- 服务工作线程的其他功能事件已继承自
ExtendableEvent
,从而使它们能够访问waitUntil()
方法 (Firefox bug 1160527)。
CacheStorage
和Cache
接口现在已支持 (Firefox bug 1110144)。
WebGL
- 已添加
failIfMajorPerformanceCaveat
WebGL 上下文属性,在使用HTMLCanvasElement.getContext()
创建 WebGL 上下文时可以设置它,以指示如果系统性能低下,上下文创建是否应该失败 (Firefox bug 1164970)。
WebRTC
- 如果在构造新的
RTCPeerConnection
时未指定任何 STUN 服务器,Firefox 现在不再提供默认的 STUN 服务器。您需要提供一个才能成功建立 WebRTC 连接。
其他
- 在 OS X 和 Windows 上,
Navigator.onLine
现在会根据网络连接情况发生变化(之前始终返回true
,除非选择了“脱机工作”模式)(Firefox bug 654579)。 MessagePort
和MessageChannel
现在在 Web 工作线程 中可用,并且在所有上下文中默认启用 (Firefox bug 952139) 和 (Firefox bug 911972)。- 用户计时 API 现在在 Web 工作线程 中可用 (Firefox bug 1155761)。
- 通知 API 现在在 Web 工作线程 中可用 (Firefox bug 916893)。
DOMRequest
和DOMCursor
现在在 Web 工作线程 中可用 (Firefox bug 1167650)。- CSS 字体加载 API 已完全实现,现在默认启用 (Firefox bug 1149381)。
- 共享工作线程不再可以在私有(即在隐私窗口中浏览)和非私有文档之间共享(请参阅 Firefox bug 1177621)。
URL.searchParams
属性现在是只读的 (Firefox bug 1174731)。HTMLAnchorElement.hash
属性不再解码 URL 片段 (Firefox bug 1093611)。
MathML
新的默认和备用字体处理
数学公式需要特殊的字体。到目前为止,这些字体在 mathml.css
用户代理样式表中是硬编码的(它在 <math>
标签上设置字体系列)以及在首选项选项 font.mathfont-family
中(它设置用于可伸缩和大型运算符的备用字体)。Firefox 41 引入了内部 x-math
语言,该语言会自动在 <math>
标签上设置,以及相应首选项选项(例如,font.name.serif.x-math
)。用户代理样式表现在将 <math>
标签上的字体系列设置为衬线,并且首选项选项 font.mathfont-family
被 font.name.serif.x-math
替换。现在所有平台基本上都使用相同的备用字体列表,“Latin Modern Math” 为第一个。可以通过标准的每种语言字体首选项菜单配置默认/备用字体。有关更多详细信息,请参阅 Firefox bug 947654 和 Firefox bug 1160456。
SVG
- 站点图标(收藏夹图标、快捷方式图标)现在支持 SVG (Firefox bug 366324)。
音频/视频
media.autoplay.enabled
首选项现在也适用于不可信的HTMLMediaElement.play()
调用,即来自非用户激活脚本的调用 (Firefox bug 659285)。
网络
X-Content-Duration
标头不再支持 (Firefox bug 1160695)。- HTTP/2 协议的草案版本不再支持 (Firefox bug 1132357)。
安全
- CSP 1.1 的
manifest-src
指令 现在已支持 (Firefox bug 1089255)。 - 以前版本的 Firefox 错误地期望内容安全策略 referrer 指令的值
origin-when-cross-origin
拼写为origin-when-crossorigin
。这已更正为包含缺失的连字符。
针对附加组件和 Mozilla 开发者的更改
XUL
无变化。
JavaScript 代码模块
无变化。
XPCOM
接口
无变化。
其他
- 添加了一个新的、内部的、仅限于 chrome 上下文的 API,用于将窗口的根部件渲染到
<canvas>
中:CanvasRenderingContext2D.drawWidgetAsOnScreen()
。此 API 使用操作系统对屏幕上的部件进行快照。有关更多详细信息,请参阅 Firefox bug 1167477。
旧版本
- 供开发者使用的 Firefox 40
- 供开发者使用的 Firefox 39
- 供开发者使用的 Firefox 38
- 供开发者使用的 Firefox 37
- 供开发者使用的 Firefox 36
- 供开发者使用的 Firefox 35
- 供开发者使用的 Firefox 34
- 供开发者使用的 Firefox 33
- 供开发者使用的 Firefox 32
- 供开发者使用的 Firefox 31
- 供开发者使用的 Firefox 30
- 供开发者使用的 Firefox 29
- 供开发者使用的 Firefox 28
- 供开发者使用的 Firefox 27
- 供开发者使用的 Firefox 26
- 供开发者使用的 Firefox 25
- 供开发者使用的 Firefox 24
- 供开发者使用的 Firefox 23
- 供开发者使用的 Firefox 22
- 供开发者使用的 Firefox 21
- 供开发者使用的 Firefox 20
- 供开发者使用的 Firefox 19
- 供开发者使用的 Firefox 18
- 供开发者使用的 Firefox 17
- 供开发者使用的 Firefox 16
- 供开发者使用的 Firefox 15
- 供开发者使用的 Firefox 14
- 供开发者使用的 Firefox 13
- 供开发者使用的 Firefox 12
- 供开发者使用的 Firefox 11
- 供开发者使用的 Firefox 10