Firefox 48 开发者发行说明
要测试 Firefox 最新的开发者功能,请安装 Firefox Developer Edition Firefox 48 于 2016 年 8 月 2 日发布。本文列出了对网络开发者、Firefox 和 Gecko 开发者以及附加组件开发者都有用的主要更改。
面向网络开发者的变更
开发者工具
- 现在可以在内容中更改元素的位置(Firefox bug 1139187)。
- 实现了
console.clear()以清除控制台输出(Firefox bug 659625)。 - 在 Web 控制台中添加了 HTTP 日志检查(Firefox bug 1211525)。
- 添加了 Firebug 主题(Firefox bug 1244054)。
- 添加了 DOM 检查器(Firefox bug 1201475)。
- 字体检查器已再次默认启用(Firefox bug 1280121)。
- 改进了 CSS 属性的建议(Firefox bug 1168246)。
- Cookies、localStorage 和 sessionStorage 条目可通过双击编辑(Firefox bug 1231154、Firefox bug 1231179、Firefox bug 1231155)。
HTML
-
<details>和<summary>元素已在 Nightly 和 Aurora (DevTools) 中默认激活,但在 Beta 或 Release 版本中未激活。- 这些元素的默认样式已调整以符合规范(Firefox bug 1258657)。
- 当
<details>元素打开或关闭时,toggle事件现在会发送给它(Firefox bug 1225412)。
-
meta属性现在也支持no-referrer-when-downgrade和origin-when-cross-origin值(Firefox bug 1178337)。
CSS
-
已改进
calc(),使其更接近规范。calc()现在支持line-height属性(Firefox bug 594933)。- 添加了对嵌套 CSS
calc()的支持(Firefox bug 968761)。
-
我们对 CSS 网格的实验性实现已更新。
- 已实现网格布局的碎片化(Firefox bug 1144096)。
- [css-grid] 如果网格容器大小不确定,百分比轨道现在被视为
auto(Firefox bug 1264607)。 <fieldset>现在支持网格和弹性布局(Firefox bug 1230207)。
-
已添加
mask-mode的luminance值;auto值已重命名为match-source,以匹配规范(Firefox bug 1228354)。 -
现在支持 CSS 动画和过渡中
clip-path基本形状的插值(Firefox bug 1110460)。 -
通过
text-combine-upright属性的all值添加了对横竖排版(tate-chu-yoko)文本的支持(Firefox bug 1097499)。 -
添加了对实验性
color-adjust属性的支持,允许页面指定应打印背景颜色和图像(Firefox bug 1209273)。 -
::first-letter伪元素现在也匹配实际首字母之前或紧随其后的 Pd 类型的标点符号;这是 CSS 伪元素模块级别 4 的新要求(Firefox bug 1260366)。 -
为了网络兼容性,添加了几个
-webkit前缀属性和值,它们在偏好设置layout.css.prefixes.webkit之后,默认值为false。-webkit-text-fill-color(Firefox bug 1247777)。-webkit-text-stroke、-webkit-text-stroke-color、-webkit-text-stroke-width(Firefox bug 1248708)。-webkit-background-clip(作为 background-clip)的文本值(Firefox bug 759568)。-webkit-box-direction,-webkit-box-orient(Firefox bug 1262049)。display属性上的值-webkit-inline-box现在是inline-flex的别名。(Firefox bug 1257661)。-webkit-flex-direction、-webkit-flex-wrap、-webkit-flex-flow、-webkit-order、-webkit-flex、-webkit-flex-grow、-webkit-flex-shrink、-webkit-flex-basis、-webkit-justify-content、-webkit-align-items、-webkit-align-self和-webkit-align-content作为无前缀属性的别名添加,以及display属性的-webkit-flex和-webkit-inline-flex值作为无前缀值的别名添加(Firefox bug 1274096)。- 添加了
-webkit-box-flex、-webkit-box-ordinal-group、-webkit-box-align和-webkit-box-pack属性,以及display的-webkit-box值,作为现代 CSS 弹性盒子的别名(Firefox bug 1208635)。
-
background-clip的text值现在在所有类型的 Firefox 中都可用(而不仅仅是非发布版本)(Firefox bug 1263516)。 -
顶层元素上
position属性的absolute值(Firefox bug 1236828)。 -
添加了
@supports的内部语法,用于检测 pref(Firefox bug 1259889)。
JavaScript
新 API
- 已实现
String.prototype.padStart()和String.prototype.padEnd()方法(Firefox bug 1260509)。 - 已实现 ES2015
Symbol.unscopables和Array.prototype[Symbol.unscopables]属性(Firefox bug 1054759 和 Firefox bug 1258163)。 - 已实现 ES2015
Symbol.isConcatSpreadable符号(Firefox bug 1041586)。 - 已实现 ES2015
Array[Symbol.species]getter(Firefox bug 1165052)。 - 已实现 ES2015
ArrayBuffer[Symbol.species]getter 和TypedArray[Symbol.species]getter(Firefox bug 1165053)。 - 已实现 ECMAScript 国际化 API 草案的
Intl.getCanonicalLocales()方法(Firefox bug 1263040)。
弃用和移除
- 已移除已弃用的旧 Proxy API(
Proxy.create和Proxy.createFunction())。请改用标准Proxy对象(Firefox bug 892903)。 - 已移除
String.prototype.contains()方法(自版本 40 起已弃用)。请改用String.prototype.includes()方法(Firefox bug 1103588)。 - 已移除非标准的
RegExp.multiline属性(不是RegExp.prototype.multiline)。请改用标准 m 标志(Firefox bug 1219757)。 Object.prototype.__defineGetter__()和Object.prototype.__defineSetter__()方法不能再在没有任何对象的情况下在全局作用域中调用。(Firefox bug 1253016)。
接口/API/DOM
DOM 和 HTML DOM
- 从
CSSKeyframeRule和CSSKeyframesRule接口中去除了“Moz”前缀(Firefox bug 1256178)。 - 已实现
NavigatorConcurrentHardwaremixin,它将Navigator.hardwareConcurrency属性添加到Navigator接口。这允许网站和应用程序获得至少近似于有多少处理核心可用于运行Workers 的信息(Firefox bug 1008453)。 - 在长时间缺席后,
Node.isSameNode()方法(在 Firefox 10 中已移除)在被重新添加到规范后回归(Firefox bug 1256299)。 - 当调用
Navigator.registerProtocolHandler()时出现问题时,Firefox 现在会返回适当的异常,而不是数字。 Element.animate()现已默认激活(Firefox bug 1245000)。- 已实现
Element.insertAdjacentText()和Element.insertAdjacentElement()两个方法(Firefox bug 811259)。 Document.scrollingElement已默认启用(Firefox bug 1265032)。Node.localName、Node.namespaceURI和Node.prefix已移至Element和AttrAPI(Firefox bug 1055776)。- 根据最新规范,以下键返回的
KeyboardEvent.code值已更改,请参见(Firefox bug 1264150)"OSLeft"和"OSRight"现在是"MetaLeft"和"MetaRight"。"VolumeDown"、"VolumeUp"和"VolumeMute"现在是"AudioVolumeDown"、"AudioVolumeUp"和"AudioVolumeMute"。"IntlHash"已移除。- 所有在早期 Firefox 版本中
code值报告为 "" 的键现在都报告为 "Unidentified"。
Canvas 2D
WebRTC
- 已实现
MediaStream.clone()和MediaStreamTrack.clone()两个方法(Firefox bug 1208371)。 iceRestart条目现在在RTCOfferOptions代码字典中受支持,允许使用createOffer()请求 ICE 重启(Firefox bug 906986)。RTCPeerConnection.createOffer()方法现在默认优先使用 VP9 视频编解码器;以前是优先使用 VP8(Firefox bug 1242324)。- 使用
MediaRecorder录制的包含视频分辨率更改的 WebM/VP8 视频现在可以成功播放。
其他
- Web Crypto API 现在在 Web workers 中可用(Firefox bug 842818)。
CustomEvent接口现在在 Web Workers 中可用(Firefox bug 1003432)。- 已移除
DOMApplicationsManager.getNotInstalled()方法(Firefox bug 1255036)。 - 几个被错误地暴露给 Web 的 Firefox OS API 现已按预期隐藏 —
mozContact、MozContactChangeEvent、navigator.mozContacts、MozPowerManager、MozSettingsEvent(参见 Firefox bug 1043562、Firefox bug 1256414 和 Firefox bug 1256046)。 - 已从
TextEncoder中移除对 UTF-16 的支持(Firefox bug 1257877)。 RTCStatsReport现在是一个真正的maplike接口:除了forEach()、get()和has()方法之外,还实现了entries()、values()、keys()方法以及sizegetter(Firefox bug 906986)。- 已添加
Request.cache属性,允许控制缓存行为(Firefox bug 1120715)。 - Mac OS X 上死键的处理已更改为与所有其他平台相同;当焦点元素不可编辑时,如果未生成文本,它们不再触发
keypress事件(当焦点元素可编辑时,死键在 Mac OS X 上会触发组合事件而不是键盘事件)。此外,与其他平台一样,在其他情况下,未生成文本的死键按键的KeyboardEvent.key值现在是"Dead"。
HTTP
- 添加了对
Upgrade-Insecure-Requests标头的支持(Firefox bug 1243586)。 - 已实现
block-all-mixed-contentCSP 指令(Firefox bug 1122236)。
面向附加组件和 Mozilla 开发者的变更
- Social Worker API 已移除。
- 添加了
-moz-bool-pref()CSS@supports函数,允许在布尔偏好设置后隐藏 chrome 样式表的部分。(Firefox bug 1259889)。