Firefox 36 開發者版發行說明
Firefox 36 於 2015 年 2 月 24 日釋出。本文列出了對 Web 開發者、Firefox 和 Gecko 開發者以及附加元件開發者都有用的主要更改。
面向網路開發者的變更
開發者工具
亮點
CSS
will-change屬性已預設啟用 (Firefox bug 961871)。white-space屬性現在在<textarea>HTML 元素上正常工作 (Firefox bug 82711)。unicode-range描述符現在由@font-face支援 (Firefox bug 475891),但預設未啟用。- 屬性
text-decoration-color、text-decoration-line和text-decoration-style已取消字首 (Firefox bug 825004)。為了方便過渡,帶字首的版本仍然可用一段時間 (Firefox bug 1097922)。 text-decoration屬性已轉換為縮寫屬性 (Firefox bug 1039488)。- 現在支援
object-fit和object-position屬性 (Firefox bug 624647) display屬性的contents值已進行實驗性實現。它預設關閉 (Firefox bug 907396)。- 在怪異模式下,
:active和:hover抖動怪癖已被修改為不那麼頻繁地應用:它現在僅用於連結,僅當元素中沒有偽元素或其他偽類,並且它不是偽類元素的一部分時 (Firefox bug 783213)。 isolation屬性已實現 (Firefox bug 1077872)。- CSS
<gradient>現在應用於預乘顏色,與規範和其他瀏覽器匹配,並消除了其中出現的意外灰色 (Firefox bug 591600)。 - 插值提示語法已新增到
<gradient>(Firefox bug 1074056)。 scroll-behavior屬性已實現 (Firefox bug 1010538)。
HTML
- 已新增對
<meta name="referrer">的支援 (Firefox bug 704320)。 - 在 Firefox 中,除非
accept屬性中存在未知值(即未知 MIME 型別或格式錯誤的值),否則<input>標籤中accept屬性指定的過濾器將始終預設選中。以前,指定的過濾器僅對image/*、video/*和audio/*值預設選中 (Firefox bug 826185)。
JavaScript
-
ECMAScript 2015 Symbol 資料型別已預設啟用(自版本 33 起在 Nightly 頻道可用)(Firefox bug 1066322)
-
舊的佔位符字串
"@@iterator"已被真正的 ES2015 知名符號Symbol.iterator替換,作為 可迭代 介面屬性鍵 (Firefox bug 918828)。 -
規範內部抽象操作
ToNumber(string)現在支援二進位制 (0b) 和八進位制 (0o) 字面量,這可能是 ES5 的一個潛在破壞性更改 (Firefox bug 1079120)。Number("0b11")現在返回3,而不是NaN。"0o11" == 9現在返回true,而不是false。
-
const宣告現在是塊級作用域並需要一個初始化器 (Firefox bug 611388)。它也不能再被重新宣告 (Firefox bug 1095439)。{const a=1}; a;現在丟擲ReferenceError,並且由於塊級作用域,不再返回1。const a;現在丟擲SyntaxError(“const 宣告中缺少 =”):需要一個初始化器。const a = 1; a = 2;現在也丟擲SyntaxError(“對 const a 的無效賦值”)。
-
ES2016 方法
Array.prototype.includes已實現,但目前僅在 Nightly 版本中啟用 (Firefox bug 1069063)。 -
當與
let和const一起使用時,delete運算子現在會觸發“暫時性死區”(Firefox bug 1074571)。 -
非標準的
let塊和let表示式 已棄用,現在將在控制檯中記錄警告。請不要再使用它們,它們將在將來被移除。 -
WeakMap 建構函式現在處理可選的可迭代引數 (Firefox bug 1092537)。
介面/API/DOM
-
Canvas API 的
CanvasRenderingContext2D.resetTransform()方法已實現 (Firefox bug 1099148)。 -
Web Crypto API 現在支援 ECDSA (Firefox bug 1034854)。
-
我們的 WebGL 2.0 實驗性實現正在進行中!
-
已新增
MediaDevices介面,其中包含基於Promise的getUserMedia()版本。它可以透過Navigator.mediaDevices訪問 (Firefox bug 1033885)。 -
現在支援與 EME 相關的
Navigator.requestMediaKeySystemAccess()方法以及相關的MediaKeySystemAccess(Firefox bug 1095257)。 -
當與 EME 相關的 CDM 更改會話中的金鑰時,現在會發送
keyschange事件 (Firefox bug 1081755)。 -
MutationObserver.observe()選項的預設值已更新,以匹配最新的規範 (Firefox bug 973638)。 -
虛擬現實裝置的實驗性支援已在
dom.vr.enabled首選項後面啟用,預設關閉 (Firefox bug 1036604)。 -
與
RTCPeerConnection.onsignalingstatechange關聯的函式現在接收一個事件作為引數,根據規範 (Firefox bug 1075133)。 -
Web Animations 的實驗性實現取得了進展:現在支援
AnimationPlayer.play()和AnimationPlayer.pause()方法 (Firefox bug 1070745),以及AnimationPlayer.playState(Firefox bug 1037321)。 -
非標準的
DOMRequest介面現在有一個DOMRequest.then()方法 (Firefox bug 839838)。 -
CSSOM View 滾動行為控制方法
Element.scroll()、Element.scrollTo()、Element.scrollBy()和Element.scrollIntoView()已實現或擴充套件 (Firefox bug 1045754 和 Firefox bug 1087559)。 -
將值分配給
SVGElement上的Element.innerHTML現在會在 SVG 名稱空間中建立元素 (Firefox bug 886390)。 -
nsIWebBrowserPersist.saveURI()方法現在需要 8 個引數,順序與以前的版本不相容。 -
Media Source Extensions (MSE) 支援在非構建版本(僅限 Nightly 和 Developer Edition)中預設啟用 (Firefox bug 1000686)。它在 Beta 和釋出版本中仍然預設關閉。
MathML
無更改。
SVG
無更改。
音訊/影片
無更改。
網路
- 已刪除對 SPDY/3 的支援;對 SPDY/3.1 的支援仍然可用 (Firefox bug 1097944)。
安全
- RC4 現在被認為是不安全的,所有 UI 指示器都將作出相應的反應;SSLv3 已在 Firefox 34 中預設停用,但 UI 已更改以幫助使用者更好地理解正在發生的事情 (Firefox bug 1093595)。
- 此外,TLS 的初始握手不再提供 RC4 (Firefox bug 1088915)。
- 現在支援 CSP 1.1 的
form-action指令 (Firefox bug 529697)。 - 在 Firefox 的首選項中,“請勿追蹤”選擇小部件再次成為一個開關 (Firefox bug 1071747)。
面向附加元件和 Mozilla 開發者的變更
附加元件 SDK
亮點
-
sdk/test/httpd模組已被刪除,請改用 addon-httpd npm 模組。 -
為
sdk/ui按鈕新增徽章 (Firefox bug 994280)。 -
實現了全域性
require函式以在任何地方訪問 sdk 模組 (Firefox bug 1070927),使用jsvar { require } = Cu.import( "resource://gre/modules/commonjs/toolkit/require.js", {}, );
詳情
JavaScript 程式碼模組
PromiseUtils.resolveOrTimeout已實現 (Firefox bug 1080466)。PromiseUtils.defer(Promise.defer()的替代品)已實現 (Firefox bug 1093021)。
介面
nsIContentPolicy
已向 nsIContentPolicy 新增新常量,以允許 Gecko 內部和附加元件程式碼更好地區分不同型別的請求。這些是
TYPE_FETCH-
表示由
fetch()方法啟動的內容載入請求。 TYPE_IMAGESET
XUL
無更改。
其他
- Firefox
-remote命令列選項 已被刪除 (Firefox bug 1080319)。