Firefox 20 for developers 發行說明
Firefox 20 於 2013 年 4 月 2 日釋出。本文件提供了有關此版本中影響開發者的變更的資訊。
面向網路開發者的變更
HTML
- 已為
<a>和<area>元素添加了對download屬性的支援(Firefox bug 676619)。 - 已實現
dir全域性屬性的auto值(Firefox bug 548206)。 contextmenu全域性屬性現在可在 Firefox for Android 上使用(Firefox bug 736321)。
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.enabledabout:config 首選項設定為true來在釋出版和 Beta 版本中啟用它。 - 已新增
mask-type屬性(Firefox bug 793617)。 - 已新增對
:scope偽類實驗性支援。在 Aurora 和 Nightly 版本中預設啟用,可以透過將layout.css.scope-pseudo.enabledabout:config 首選項設定為true來在釋出版和 Beta 版本中啟用(Firefox bug 648722)。
DOM/API
HTMLMediaElement現在支援playbackRate(可讀寫),並帶有音高校正。可以透過mozPreservesPitch屬性控制音高校正(Firefox bug 495040)。- CSSOM:已新增對新的
CSSGroupingRule和CSSConditionRule的支援(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)。 DOMParser的parseFromStream和parseFromBuffer方法已不再可從 Web 內容訪問(Firefox bug 816410)。XMLSerializer的serializeToStream方法已不再可從 Web 內容訪問(Firefox bug 816410)。TextDecoder和TextEncoder介面現在可在 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)。 - 混合模式,如
overlay、color-burn、hue等,已新增到 CanvasCanvasRenderingContext2D.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
contentScriptType和contentStyleType屬性的實現已從SVGSVGElement中移除,同時從 SVG2 中移除(Firefox bug 819731)。
MathML
- 為了幫助 MathML 作者除錯文件中的“無效標記”錯誤,MathML 解析錯誤(例如子元素過多/過少)以及關於已棄用屬性或錯誤屬性值的警告現在會報告到錯誤控制檯。
scriptminsize屬性現在接受無單位值和百分比值。它們被解釋為預設值(8pt)的倍數。mathsize和fontsize屬性現在也允許無單位值;它們會乘以預設值。
面向附加元件和 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。 nsIProfile和nsIProfileChangeStatus介面已被移除,以及其他支援 Firefox 之前配置檔案管理系統的程式碼。您可能並未在使用這些介面,但如果您在使用,則應停止使用。這可以防止配置檔案管理系統中已失效的部分阻止關閉過程。nsIEventSource介面已不存在(Firefox bug 819639)。