Firefox 43 開發者發行說明
要測試 Firefox 的最新開發者功能,請安裝 Firefox Developer Edition Firefox 43 於 2015 年 12 月 15 日釋出。本文件列出了重要的更改,這些更改不僅對 Web 開發者有用,也對 Firefox 和 Gecko 開發者以及附加元件開發者有用。
面向網路開發者的變更
開發者工具
亮點
CSS
- 已支援標準、無字首版本的
hyphens(Firefox bug 953408)。 - 已更新
font簡寫屬性以接受font-stretch值(Firefox bug 1057680)。 - 為了與規範的最新演變保持一致,
:fullscreen偽類現在選擇全屏中的所有元素堆疊,而不僅僅是頂層元素(Firefox bug 1199522)。 - 已將
writing-mode的已棄用的 SVG 值 `lr`、`lr-tb`、`rl`、`tb` 和 `tb-rl` 新增到 CSS 中作為標準屬性的別名(Firefox bug 1205787)。
HTML
- 對於包含多個幀的 ICO 影像的
<img>,影像的固有尺寸將設定為最大幀的尺寸,而不是最小幀的尺寸(Firefox bug 1201796)。 - 現在可以透過 JavaScript 動態更改文件視口的值(使用
<meta name="viewport>定義)(Firefox bug 976616)。
JavaScript
新 API
- 新的 ES2016 方法
Array.prototype.includes()和TypedArray.prototype.includes()現在預設啟用(Firefox bug 1070767)。
關於 arguments 物件的更改
- 為了與 ES2015 規範保持一致,箭頭函式不再擁有自己的
arguments物件。arguments物件現在是詞法繫結的(從外部函式繼承)。在大多數情況下,rest 引數是一個很好的替代方案(...args) => args[i],請參閱(Firefox bug 889158)。 - 現在允許將
arguments物件與 rest 引數結合使用(Firefox bug 1133298)。 - 從現在開始,非嚴格函式中對映的
arguments物件僅在函式**不**包含任何 rest 引數、任何 預設引數或任何 解構引數時才提供(Firefox bug 1175394)。
其他更改
- 根據 ES2016,生成器和生成器方法不再是可構造的(Firefox bug 1191486)。
介面/API/DOM
DOM 和 HTML DOM
無更改。
IndexedDB
- 添加了一項名為“本地化排序”的新功能,該功能允許建立帶有指定本地化的索引,然後可以使用這些索引根據該本地化的規則對資料進行排序(Firefox bug 871846)。這是一項非標準的 Firefox 特有功能。
Service Workers
- 根據規範,如果
ExtendableEvent.waitUntil()在ExtendableEvent處理程式之外被呼叫,Firefox 現在將丟擲InvalidStateError;此外,對waitUntil()的多次呼叫現在將堆疊起來,並將生成的 Promise 新增到 生命週期擴充套件 Promise 列表中(Firefox bug 1180274)。 - 已實現
PushMessageData方法(Firefox bug 1149195)。
WebRTC
HTMLCanvasElement.captureStream()方法已預設啟用(Firefox bug 1177276)。RTCOfferOptions的非標準約束樣式選項列表已被棄用,將在 Firefox 44 中完全移除。
雜項
- 根據規範的最新演變,電池狀態 API 現在為
Navigator.getBattery()使用新的 Promise 語法(Firefox bug 1050749)。 User-Agent標頭不再是 禁止的請求標頭列表中的一部分,因此現在可以透過 XHRXMLHttpRequest.setRequestHeader()等方式在 FetchHeaders物件中設定它(Firefox bug 1188932)。- 現在
MediaRecorder()建構函式可以接受一個選項字典作為引數,允許您為要錄製的音訊/影片設定自定義位元率(Firefox bug 1161276)。 - 已實現屬於 Performance APIs 的
PerformanceObserver介面(Firefox bug 1165796)。 - 已新增 Frame Timing API:現在可以使用
PerformanceRenderTiming和PerformanceCompositeTiming介面(Firefox bug 1191178)。 - 已實現現代 螢幕方向 API:現在可以使用無字首的
Screen.orientation和ScreenOrientation介面(Firefox bug 1131470)。非標準的Screen.mozOrientation、Screen.onmozorientationchange、Screen.mozLockOrientation()和Screen.mozUnlockOrientation()將在未來被移除。 - 在 Linux 和 Windows 上,
Event.timeStamp現在返回一個DOMHighResTimeStamp(Firefox bug 1026803)。 - 已新增對
Selection事件selectionchange和selectstart,以及Document.onselectionchange和HTMLInputElement.onselectstart事件處理程式屬性的實驗性支援(Firefox bug 571294)。如果相關的Selection物件發生更改,則在Document上觸發selectionchange事件;如果特定HTMLInputElement或HTMLTextAreaElement發生更改,則在這些元素上觸發(Firefox bug 1196479)。此功能受dom.select_events.enabled首選項控制,該首選項預設設定為false,Nightly 版本除外。 - Firefox for Android 和 Firefox OS 已啟用對
MouseEvent.offsetX和MouseEvent.offsetY的支援(Firefox bug 1204841)。 - 已移除
HTMLCanvasElement.mozFetchAsStream()方法(Firefox bug 1206030)。 - 當使用包含使用者名稱和密碼的 URL 呼叫
Request()建構函式以及fetch()時,現在將引發TypeError異常(Firefox bug 1195820)。
MathML
無更改。
SVG
無更改。
音訊/影片
無更改。
HTTP
無更改。
網路
無更改。
安全
- 如果使用者停用第三方 Cookie,則現在將拒絕從第三方 iframe 訪問 Web 儲存(即
localStorage和sessionStorage)(Firefox bug 536509)。 - 此白名單甚至已在瀏覽器的 Nightly 和 Aurora/Dev Edition 中移除(Firefox bug 1201023)。目前計劃在下一個版本(Firefox 44)的 Beta 和 Release 版本中也移除此白名單。
- 已為連結到樣式表的
<script>和<link>實現了子資源完整性(Firefox bug 992096)。
面向附加元件和 Mozilla 開發者的變更
介面
無更改。
XUL
無更改。
JavaScript 程式碼模組
無更改。
XPCOM
無更改。
外掛
- 為準備未來切換到多程序內容,NPAPI 外掛外掛不能再與頁面內容在同一程序中執行。以
dom.ipc.plugins開頭的首選項不再使用。
其他
無更改。