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)。