Firefox 38 开发者版本
Firefox 38 于 2015 年 5 月 12 日发布。本文列出了对 Web 开发人员、Firefox 和 Gecko 开发人员以及附加组件开发人员有用的关键更改。
Web 开发人员的更改
开发者工具
CSS
- 已添加对
ruby-position
和ruby-align
的支持,并且默认情况下可用(Firefox 错误 1055676 Firefox 错误 1123917 和 Firefox 错误 1039006)。 - 已为自定义元素实现
:unresolved
伪类(Firefox 错误 1111633)。 - 预定义样式
ethiopic-numeric
现在使用空格而不是点作为后缀,以匹配规范的最新更改(Firefox 错误 1120721)。 - 生成的 CSS 过渡内容(使用
::before
和::after
)在内联和将其拆分的块上现在都按规范预期开始(Firefox 错误 1110277)。 - CSS 逻辑属性的实现取得了很大进展。以下属性在
layout.css.vertical-text.enabled
标志(默认为false
)后面可用width
和height
的方向无关等效项:block-size
和inline-size
(Firefox 错误 1117983)。min-width
和min-height
的方向无关等效项:min-block-size
和min-inline-size
(Firefox 错误 1117983)。max-width
和max-height
的方向无关等效项:max-block-size
和max-block-size
(Firefox 错误 1117983)。margin-top
、margin-right
、margin-bottom
和margin-left
的方向无关等效项:margin-block-start
、margin-block-end
、margin-inline-start
和margin-inline-end
(Firefox 错误 649142)。padding-top
、padding-right
、padding-bottom
和padding-left
的方向无关等效项:padding-block-start
、padding-block-end
、padding-inline-start
和padding-inline-end
(Firefox 错误 649142)。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
的方向无关等效项(Firefox 错误 649142)。top
、right
、bottom
和left
的方向无关等效项:inset-block-start
、offset-block-end
、offset-inline-start
和offset-inline-end
(Firefox 错误 1120283)。
- 已修改 CSS 过渡 的启动方式,以匹配规范的最新更改,旨在在浏览器之间实现互操作行为(Firefox 错误 960465)。
HTML
- 如果在事件目标和标签之间找到交互式内容,则
<label>
元素不再向标签目标元素分派事件(Firefox 错误 229925)。 - 已默认激活
<picture>
元素(Firefox 错误 1017875)。 <meta name="referrer">
支持来自上下文菜单或通过鼠标中键单击的导航(Firefox 错误 1113431)。
JavaScript
- 已实现
Generator.prototype.return()
(Firefox 错误 1115868)。 - 带有 剩余参数 的
Setter
现在是SyntaxError
(Firefox 错误 1089632)。 - 函数的
name
属性现在是可配置的(Firefox 错误 1084019)。 - 一些
Array
方法也已为 类型化数组 实现of()
和from()
方法(Firefox 错误 896608)。forEach()
方法(Firefox 错误 1107645)。filter()
和map()
方法(Firefox 错误 1121936)。slice()
方法(Firefox 错误 1121935)。
- 当存在剩余参数时,不再允许重复的参数名称(Firefox 错误 1096376)。
- 箭头函数中不再允许重复的参数名称(Firefox 错误 1096377)。
- 简洁方法定义中不再允许重复的参数名称(Firefox 错误 1096378)。
- 当
Map
/Set
/WeakMap
构造函数在没有new
的情况下调用时,将显示警告(Firefox 错误 1108930)。 get
、has
和delete
WeakMap
对象的方法在key
参数不是对象时不再抛出异常(Firefox 错误 1127827)。- 已删除
WeakMap.prototype.get()
的可选且非标准的第二个fallback
参数(Firefox 错误 1127827)。 - 在定义 生成器方法 时,“
set
”和“get
”不再是无效名称(Firefox 错误 1073809)。 RegExp.prototype.source
现在返回“(?:)”而不是空字符串,用于空正则表达式(Firefox 错误 1130798)。RegExp.prototype.source
和RegExp.prototype.toString()
现在正确地转义正则表达式模式(例如,换行符,“\n”)(Firefox 错误 1130860)。- 现在,
RegExp
实例的Regexp
的global
、ignoreCase
、multiline
和sticky
属性是原型访问器属性,而不是自己的数据属性(Firefox 错误 1120169)。 - 现在,
RegExp
实例的RegExp.prototype.source
属性是原型访问器属性,而不是自己的数据属性(Firefox 错误 1120169)。由于Firefox 错误 1150297,该属性仅在非发行版本中可用。 - 对于
Proxy
对象,Function.prototype.toString()
现在会抛出异常(Firefox 错误 1100936)。
接口/API/DOM
- Fetch API 的
fetch()
方法已实现(Firefox 错误 1039846)。 BroadcastChannel
API 已实现,并在Web Workers 中可用(Firefox 错误 966439 和 Firefox 错误 1121420)。- Console API 现在在Web Workers 中可用。
CanvasRenderingContext2D.clearHitRegions()
已实现(Firefox 错误 1119527)。KeyboardEvent.location
的常量DOM_KEY_LOCATION_MOBILE
和DOM_KEY_LOCATION_JOYSTICK
已移除,因为它们已从 DOM Level 3 规范中移除(Firefox 错误 936313)。KeyboardEvent.code
现已可用;之前它仅在预发布版本中可用。(Firefox 错误 1126673)KeyboardEvent.code
现在支持 Linux、Android 和 Firefox OS 上的 Sun 键盘上的特殊按键。(Firefox 错误 1020139)TextEncoder()
构造函数已更改为匹配规范:当传递无效参数时,现在会引发RangeError
DOMException
,而不是错误的TypeError
(Firefox 错误 1125766)。- 用户计时 API 已实现,添加了
Performance.mark()
、Performance.clearMarks()
、Performance.measure()
和Performance.clearMeasures()
(Firefox 错误 782751)。 Window.indexedDB
的前缀版本mozIndexedDB
已移除(Firefox 错误 975699)。DOMContentLoaded
事件不再可取消(Firefox 错误 1134559)。- 您现在可以在Workers 中使用WebSockets(Firefox 错误 504553)。
- 现在可以在调用
XMLHttpRequest.open()
之前设置XMLHttpRequest.responseType
和XMLHttpRequest.withCredentials
属性(Firefox 错误 707484)。
MathML
无变化。
SVG
无变化。
音频/视频
无变化。
网络
无变化。
安全
- 在 Firefox 中,处理登录表单时,现在会忽略
autocomplete
=false
属性(Firefox 错误 1025703)。这旨在通过允许密码管理器工具更可靠地工作来鼓励使用更安全的密码。 - 现在禁用使用 TLS 时的 RC4,除了少数几个明确允许的网站。此白名单是临时措施,直到这些网站得到修复(Firefox 错误 1124039)。此回退由
security.tls.unrestricted_rc4_fallback
首选项控制,目前默认为true
(Firefox 错误 1138882)。 - 需要回退到不安全的 TLS 版本才能正常工作的网站现在位于硬编码的白名单中,该白名单会随着时间的推移而缩小(Firefox 错误 1114816)。可以通过将
security.tls.insecure_fallback_hosts.use_static_list
设置为false
来禁用白名单。
附加组件和 Mozilla 开发人员的更改
附加组件 SDK
亮点
sdk/context-menu@2
已实现(Firefox 错误 1070952)。sdk/addon/bootstrap
已实现(Firefox 错误 1075541)。sdk/windows/loader
已移除(Firefox 错误 970135)。- 修复了 Linux 上的默认语言检测问题(Firefox 错误 1114712)。
toolkit/loader
现在具有可选的模块兼容性检查,已为所有 jpm 附加组件启用(Firefox 错误 1037235)。
Electrolysis (E10s) 更新
sdk/page-worker
e10s 更新(Firefox 错误 1116004)。sdk/content/worker
e10s 更新(Firefox 错误 1116544)。sdk/tabs
e10s 更新(Firefox 错误 1033838)。
详细信息
XUL
无变化。
JavaScript 代码模块
Downloads.jsm
DownloadTarget
对象现在具有exists
和size
属性,允许您确定下载的目标文件在磁盘上的存在性和大小,以及一个新的refresh()
方法,该方法要求更新这些值。
XPCOM
- 如果传递了
PR_APPEND
但没有传递PR_TRUNCATE
,则"@mozilla.org/network/atomic-file-output-stream;1"
和"@mozilla.org/network/safe-file-output-stream;1"
现在会抛出异常(Firefox 错误 1117580)。 nsICompositionStringSynthesizer
和nsIDOMWindowUtils.sendCompositionEvent()
已移除。请改用nsITextInputProcessor
。(Firefox 错误 917322)nsIDOMWindowUtils.sendKeyEvent()
现已弃用。请改用nsITextInputProcessor
(Firefox 错误 1119609)。
旧版本
- 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 开发者版
- Firefox 9 开发者版
- Firefox 8 开发者版
- Firefox 7 开发者版