Firefox 20 for developers 發行說明

Firefox 20 於 2013 年 4 月 2 日釋出。本文件提供了有關此版本中影響開發者的變更的資訊。

面向網路開發者的變更

HTML

JavaScript

  • 已新增對 WeakMap.prototype.clear() 方法的支援,該方法最近被新增到 Harmony (ECMAScript 2015) 草案提案中(Firefox bug 814562)。
  • 已新增對 Math.imul() 方法的支援,這是一種 C 風格的 32 位乘法函式。儘管它被提議用於 Harmony (ECMAScript 2015),但尚未被接受,仍為非標準(Firefox bug 808148)。
  • 使用 Kinetic 3.x 的可拖動文字的 Web 應用現在可以正常工作,即使在使用 Cairo 畫布後端時也是如此(Firefox bug 835064)。
  • for each...in 語句已被棄用,不應再使用。請考慮使用新的 for...of 語句(Firefox bug 804834)。
  • 已新增對 Map.prototype.keys()Map.prototype.values()Map.prototype.entries() 的支援(Firefox bug 817368)。

CSS

  • CSS Flexbox 現在預設在預釋出版本(不包括 Beta 版本)中可用。可以透過將 layout.css.flexbox.enabled about:config 首選項設定為 true 來在釋出版和 Beta 版本中啟用它。
  • 已新增 mask-type 屬性(Firefox bug 793617)。
  • 已新增對 :scope 偽類實驗性支援。在 Aurora 和 Nightly 版本中預設啟用,可以透過將 layout.css.scope-pseudo.enabled about:config 首選項設定為 true 來在釋出版和 Beta 版本中啟用(Firefox bug 648722)。

DOM/API

  • HTMLMediaElement 現在支援 playbackRate(可讀寫),並帶有音高校正。可以透過 mozPreservesPitch 屬性控制音高校正(Firefox bug 495040)。
  • CSSOM:已新增對新的 CSSGroupingRuleCSSConditionRule 的支援(Firefox bug 814907)。
  • CSSOM:在 CSSRule 上,CSSRule.MOZ_KEYFRAME_RULE 和 CSSRule.MOZ_KEYFRAMES_RULE 常量已被取消字首,改為 CSSRule.KEYFRAME_RULE 和 CSSRule.KEYFRAMES_RULE。為幫助 Web 作者遷移程式碼,暫時保留了帶字首的版本(Firefox bug 816431)。
  • CSSOM:現在可以為 CSSMediaRule 設定 conditionText 的值(Firefox bug 815021)。
  • DOMParserparseFromStreamparseFromBuffer 方法已不再可從 Web 內容訪問(Firefox bug 816410)。
  • XMLSerializerserializeToStream 方法已不再可從 Web 內容訪問(Firefox bug 816410)。
  • TextDecoderTextEncoder 介面現在可在 Workers 中使用(Firefox bug 795542)。
  • 已新增對 CSS.supports() 方法的支援,該方法受 layout.css.supports-rule.enabled 首選項控制(預設關閉)(Firefox bug 779917)。
  • 已新增對 UndoManager 的支援(Firefox bug 617532)。
  • 已實現 CSSOM 的 Document.caretPositionFromPoint() 方法,該方法返回一個 CaretPosition
  • HTMLTableRowElement.insertCell()HTMLTableElement.insertRow() 方法的 index 引數根據 HTML 規範已變為可選。
  • Navigator.getUserMedia,仍以 Navigator.mozGetUserMedia 的形式帶有字首,現在已預設啟用。
  • 現在支援 Window.postMessage 的第三個可選引數 transfer。它允許將一系列可轉移物件傳輸到目標(Firefox bug 822094)。
  • 非標準的 Window.sizeToContent() 方法現在限制了最小尺寸:視窗不能再被強制縮放到阻礙使用者互動的小尺寸(Firefox bug 764240)。
  • 混合模式,如 overlaycolor-burnhue 等,已新增到 Canvas CanvasRenderingContext2D.globalCompositeOperation 屬性中(Firefox bug 748433)。
  • window.indexedDB 的帶字首版本 — window.mozIndexedDB — 已重新引入 Gecko,以便糟糕的跨瀏覽器字首程式碼(如 var indexedDB = window.indexedDB || window.webkitIndexedDB …)在 Firefox 中不會中斷。更好的方法是 window.indexedDB = window.indexedDB || window.webkitIndexedDB …(參見 Firefox bug 770844)。

SVG

  • contentScriptTypecontentStyleType 屬性的實現已從 SVGSVGElement 中移除,同時從 SVG2 中移除(Firefox bug 819731)。

MathML

  • 為了幫助 MathML 作者除錯文件中的“無效標記”錯誤,MathML 解析錯誤(例如子元素過多/過少)以及關於已棄用屬性或錯誤屬性值的警告現在會報告到錯誤控制檯。
  • scriptminsize 屬性現在接受無單位值和百分比值。它們被解釋為預設值(8pt)的倍數。
  • mathsizefontsize 屬性現在也允許無單位值;它們會乘以預設值。

面向附加元件和 Mozilla 開發者的變更

  • ECMAScript for XML (E4X) 現在對所有 chrome 和 content 指令碼完全停用。它之前在 Firefox 17 中對 content 停用,並且將在 Firefox 21 中完全移除。請改用 DOMParser/DOMSerializer 或非原生 JXON 演算法。
  • nsIDOMParserJS 介面已不存在(Firefox bug 816410)。請參閱 nsIDOMParser 以獲取替代方案。
  • Content Preferences:nsIContentPrefService 介面現已棄用,並且已實現非同步 nsIContentPrefService2 儲存 API。
  • nsIProfilensIProfileChangeStatus 介面已被移除,以及其他支援 Firefox 之前配置檔案管理系統的程式碼。您可能並未在使用這些介面,但如果您在使用,則應停止使用。這可以防止配置檔案管理系統中已失效的部分阻止關閉過程。
  • nsIEventSource 介面已不存在(Firefox bug 819639)。

另見