Firefox 22 開發者釋出說明
Firefox 22 於 2013 年 6 月 25 日釋出。本文件列出了對 Web 開發者、Firefox 和 Gecko 開發者以及附加元件開發者都有用的主要更新。
面向網路開發者的變更
HTML
- 已實現 HTML5
<data>元素(Firefox bug 839371)。 - 已實現 HTML5
<time>元素(Firefox bug 629801)。 - 已實現 `` 元素的
range狀態(<input type="range">),該功能透過首選項dom.experimental_forms_range控制,僅在 Nightly 和 Aurora 通道中預設啟用(Firefox bug 841948)。 - 已實現對 `` 元素的支援,該元素是 Web Components 規範的一部分(Firefox bug 818976)。
JavaScript
- 已啟用 Asm.js 最佳化(Asm.js),這使得能夠將 C/C++ 應用程式編譯為 JavaScript 的一個子集以獲得更好的效能。
- 已實現 ES2015 箭頭函式語法(Firefox bug 846406)。
- 已新增新的 `Object.is` 函式(Firefox bug 839979)。
- 生成器表示式中的 `arguments` 現在會從封閉的詞法作用域繼承(Firefox bug 848051)。
- 已實現 ES2015 Proxy 的 `preventExtensions` 陷阱(Firefox bug 789897)。
DOM
- 已移除 `XMLHttpRequest` 上的 `multipart` 屬性以及 `XMLHttpRequest` 中的 `multipart/x-mixed-replace` 響應支援。這曾是僅適用於 Gecko 的功能,且從未標準化。現在可以使用 Server-Sent Events、Web Sockets 或在進度事件中檢查 `responseText` 來代替。
- 已實現對 Web Notifications 的支援(Firefox bug 782211)。
- `FormData` 的 `append` 方法現在接受一個可選的第三個 `filename` 引數(Firefox bug 690659)。
- 已移除 `Node.isSupported`(Firefox bug 801562)。
- 已為 Web 內容移除了 `Node.setUserData` 和 `Node.getUserData`,並已棄用為 Chrome 內容(Firefox bug 842372)。
- 如規範要求,`Element.attributes` 屬性已從 `Node` 移動到此處(Firefox bug 844134)。
- 已實現 Mac OS X 後端對**環境光事件**的支援。
- HTML 名稱空間中具有本地名稱 ``、`
` 和 ` ` 的元素不再實現 `HTMLSpanElement` 介面。`` 實現 `HTMLUnknownElement`,而 `
` 實現 `HTMLElement`。
- 已更改 `NodeIterator.detach` 方法,使其不執行任何操作(Firefox bug 823549)。
- 已實現 `BlobEvent` 介面(Firefox bug 834165)。
- 已移除 `HTMLMediaElement.crossorigin` 和 `HTMLInputElement.inputmode` 屬性,以匹配相應規範中的 `HTMLMediaElement.crossOrigin` 和 `HTMLInputElement.inputMode`(Firefox bug 847370 和 Firefox bug 850346)。
- WebRTC:現在預設支援 Media Stream API 和 Peer Connection API。
- Web Components:已實現 `Document.register()` 方法(Firefox bug 783129)。
- 已移除 `ProgressEvent.initProgressEvent()` 建構函式方法。請使用標準建構函式
ProgressEvent()來構造和初始化 `ProgressEvent`(Firefox bug 843489)。 - 透過 `ClipboardEvent.clipboardData` 屬性現在可以訪問與 `cut`、`copy` 或 `paste` 事件關聯的已操作資料(Firefox bug 407983)。
- 已實現 `HTMLTimeElement` 介面(Firefox bug 629801)。
- 當 `Worker` 建構函式接收到一個無效 URL 時,現在會丟擲 `SECURITY_ERR` 型別的 `DOMException`(Firefox bug 587251)。
CSS
- 已預設啟用 CSS Flexbox 佈局的支援(Firefox bug 841876)。
- 根據規範的更改,`min-width` 和 `min-height` 的初始值已改回 `0`,即使是在 flex 專案上(Firefox bug 848539)。
- 已預設啟用 CSS 條件(`@supports` 和 `CSS.supports()`)的支援(Firefox bug 855455)。
- 已在 `background` 簡寫屬性中實現對 `background-clip` 和 `background-origin` 屬性的支援(Firefox bug 570896)。
面向附加元件和 Mozilla 開發者的變更
- 已從 `nsITreeView` 的 `nsITreeView.getCellProperties()`、`nsITreeView.getColumnProperties()` 和 `nsITreeView.getRowProperties()` 方法中移除了 `properties` 引數。這些方法現在應返回一個由空格分隔的屬性名稱字串(Firefox bug 407956)。
- 已實現 `inIDOMUtils.getCSSPropertyNames()` 方法,該方法將返回所有支援的 CSS 屬性名稱。
- 有關更多更改,請參閱 Mozilla 部落格。
Firefox 開發者工具
- 字型檢查器可顯示您計算機上應用於頁面的字型。
- 視覺繪製反饋模式顯示頁面何時以及在哪裡被重繪。
- 開發者工具現在可以停靠在瀏覽器右側,而不僅僅是底部。
- 開發者工具中的一些面板已從 XUL 切換到 HTML。例如,CSS 規則檢視器現在是 `chrome://browser/content/devtools/cssruleview.xhtml`,而不是 `cssruleview.xul`。您可以透過新增覆蓋層和指令碼到外部 XUL 文件來新增載入監聽器並更改這些 HTML 文件,而不是直接新增覆蓋層來擴充套件這些面板的功能。
- 堆疊跟蹤現在顯示為頂部附近的“麵包屑”導航,指令碼列表現在位於偵錯程式的左側面板。