Firefox 29 for Developers 發行說明
Firefox 29 於 2014 年 4 月 29 日釋出。本文件列出了重要的改動,這些改動不僅對 Web 開發者有用,對 Firefox 和 Gecko 的開發者以及擴充套件開發者也有幫助。
面向網路開發者的變更
開發者工具
主要改動包括:
- Web 控制檯大幅改進 - 陣列會內聯顯示,無需點選右側檢查器即可檢視;視窗物件會顯示其 URL 等。
- 為 Web Workers 添加了 console API(bug 620935)。現在您可以從 Web Workers 向 Web Console 記錄訊息。
- 網路監控器工具現在使用餅圖顯示效能統計資訊(Firefox bug 846601)。
- 在 檢查器中,現在可以獲得 CSS 變換的預覽工具提示(Firefox bug 726427)。
- 偵錯程式和控制檯中看到的 DOM 元素可以透過變數列表右側的新按鈕直接移除或檢查。
- 現在 樣式編輯器支援 CSS 源對映(Firefox bug 926014)。
- 為 樣式編輯器添加了 CSS 屬性和值的自動補全(Firefox bug 717369)。
請參閱 Mozilla Hacks 部落格文章瞭解詳細資訊和其他較小的改動。
CSS
- 已實現 CSS 變數(Firefox bug 773296)。Mozilla Hacks 上的 Firefox Nightly 中的 CSS 變數 包含更多詳細資訊。它們預設僅對非釋出版本啟用(在釋出版本上,如果想使用,請將首選項
layout.css.variables.enabled更改為true)。 - Flexboxes 現在支援
visibility: collapse(Firefox bug 783470)。 box-sizing屬性已移除字首(Firefox bug 243412)。- 已新增
will-change屬性,用於提示即將發生的動畫。必須將首選項layout.css.will-change.enabled設定為true才能啟用它(Firefox bug 940842)。 - 現在支援科學計數法,例如
3e1或10e+0,用於<number>值及其派生值,如<percentage>和單位值,但不包括<integer>(Firefox bug 964529)。 - 現在
border-image支援<gradient>型別的影像(Firefox bug 709587)。 - 已實現
touch-action屬性。它預設不啟用;layout.css.touch_action.enabled首選項控制它(Firefox bug 795567)。 - 從 quirk.css 中移除了對 <pre> 元素的冗餘預設樣式(Firefox bug 948914)。
- CSS 變量回退實現不正確(主迴圈)(Firefox bug 950497)。
- 在宣告優先順序之後帶有 token 的 @supports 條件應評估為 false(Firefox bug 909170)。
HTML
<input type=color>和<input type=number>預設可用。- 已移除對非標準
<pre cols>的支援,以及<pre wrap>的佈局效果。這兩種效果都可以,並且應該使用 CSS 來實現(Firefox bug 949879)。
JavaScript
-
新的 ECMAScript 2015 字串方法:已實現
String.prototype.codePointAt()和String.prototype.fromCodePoint()(Firefox bug 918879)。 -
已實現 ECMAScript Internationalization API (ECMA-402),並且現在預設在 Firefox 桌面版中啟用(Firefox bug 853301)。
-
在新的
Intl物件名稱空間中新增了物件。 -
String、Number和Date的以下方法已更新,以包含locales和options引數,符合 ECMA-402 標準。
-
-
為了匹配更新的 ECMAScript 2015 草案規範,
Map和Set物件在檢查鍵值相等性時,現在將-0和+0視為相同。 -
Promise已預設啟用(Firefox bug 918806)。 -
已完成的 生成器現在返回一個
IteratorResult物件而不是丟擲異常(Firefox bug 958951)。 -
由
JSON.parse()解析的格式錯誤的 JSON 字串現在會產生更詳細的錯誤訊息,其中包含導致解析錯誤的行號和列號。這在除錯大型 JSON 資料時非常有用。 -
已新增
ArrayBuffer.isView()方法(Firefox bug 896105)。
介面/API/DOM
- 一種新型 worker,
SharedWorker,現在預設可用(Firefox bug 924089)。 URL介面現在支援searchParams屬性,它返回一個URLSearchParams物件,允許修改 URL 的搜尋引數(Firefox bug 887836)。URLSearchParams()建構函式可以更方便地解析查詢字串。navigator.onLine屬性現在支援WorkerNavigator,允許在 worker 中瞭解線上/離線狀態(Firefox bug 925437)。- 作為 Web Components 實現的一部分,
HTMLShadowElement介面已透過dom.webcomponents.enabled啟用。如果想使用它,請將其設定為true(Firefox bug 887538)。 - 只讀屬性
HTMLIFrameElement.sandbox不再是字串,而是DOMTokenList(Firefox bug 845057)。 - 在
HTMLCanvasElement.getContext()上,不再支援moz-webgl值。請使用標準的webgl值(Firefox bug 913597)。 - 已新增
ImageData的建構函式。此介面可以在Worker中使用(Firefox bug 959958)。 location.origin屬性現在可以在 worker 中(透過WorkerLocation)訪問(Firefox bug 964148)。- 已實現
ValidityState.badInput屬性(Firefox bug 827161)。 - 已移除已棄用的
Window.pkcs11屬性;它自 Firefox 3.0.14 起一直返回null(Firefox bug 964964)。 Node.cloneNode()和Document.importNode()方法接受布林值deep引數。直到現在,如果省略,這些方法將表現為deep的值為true。但根據最新的規範,此行為已更改,如果省略,這些方法將表現為false(Firefox bug 937461)。Window._content不再可用於 Web 內容(Firefox bug 946564)。URLUtils.port的行為已略有改變:設定為''會將其設定為與協議關聯的預設埠,設定為0會設定為0(Firefox bug 930450)。Document.referrer現在基於當前指令碼(Firefox bug 887928)。- Gamepad API 已預設啟用(Firefox bug 878828)。
CanvasRenderingContext2D.drawSystemFocusRing()方法已重新命名為CanvasRenderingContext2D.drawFocusIfNeeded()(Firefox bug 959820)。
MathML
無更改。
SVG
無更改。
安全
- 已實現 CSP 1.1 實驗性的
hash-source指令。應將首選項security.csp.experimentalEnabled設定為true來啟用此功能(Firefox bug 883975)。
面向附加元件和 Mozilla 開發者的變更
- Firefox 主題的重大更改影響了大多數與 Firefox 使用者介面互動的擴充套件。
- 已移除
nsISecurityCheckedComponent(Firefox bug 794943)。大多數使用者可以從其介面定義中移除nsISecurityCheckedComponent,它們將繼續正常工作。