Firefox 33 開發者發行說明

Firefox 33 於 2014 年 10 月 14 日釋出。本文列出了對 Web 開發者、Firefox 和 Gecko 開發者以及外掛開發者都有用的主要變更。

面向網路開發者的變更

開發者工具

亮點

  • 事件監聽器彈出視窗
  • @media 側邊欄
  • 新增新規則
  • 編輯關鍵幀
  • 三次貝塞爾編輯器
  • 變換高亮
  • 持久停用快取
  • 新命令
  • 編輯器偏好設定
  • WebIDE

更多詳情,請 參閱 hacks 文章。特別感謝 33 位貢獻者為本次釋出貢獻了 所有功能和修復

CSS

HTML

  • 增加了對 <picture> 元素的實驗性支援(Firefox bug 870022),該功能由 dom.image.picture.enabled 偏好設定控制(預設關閉)。

  • <label>,尤其是沒有 for 屬性的 <label>,不再適用於 <input type=hidden> 欄位(Firefox bug 597650)。之前的行為不符合規範。

  • noreferrer 連結註釋已在 <a> 元素上實現。<a rel="noreferrer"> 在傳送給伺服器獲取連結的 HTTP 請求中將不包含引用者 URL(Firefox bug 530396)。請注意,這僅適用於頁面內連結,不適用於透過 UI 點選的連結,例如上下文選單。

  • 在 Android 上,已為 <meta> 元素的 name 屬性添加了對兩個新值的支援:msapplication-TileImagemsapplication-TileColorFirefox bug 1014712)。示例:

    html
    <meta name="msapplication-TileImage" content="images/my-img-144.png" />
    <meta name="msapplication-TileColor" content="#d83434" />
    

JavaScript

  • 已移除非標準方法 Number.toInteger()Firefox bug 1022396)。
  • Map.prototype.set()WeakMap.prototype.set()Set.prototype.add() 方法現在可以鏈式呼叫,返回其等效物件,不再返回 undefinedFirefox bug 1031632)。
  • 預設引數在函式體內的函式宣告之前進行求值,因此不能從預設引數中引用這些函式(Firefox bug 1022962)。
  • 物件字面量現在允許使用簡寫屬性:如果未顯式定義,屬性鍵將由同名變數初始化。例如,function f(x, y) { return {x, y}; } 等同於 function f(x, y) { return {x: x, y: y}; }Firefox bug 875002)。
  • yieldyield* 的解析已更新,以符合最新的 ES2015 規範(Firefox bug 981599)。
  • 已移除非標準的 hasOwn trap(Firefox bug 980565)。

介面/API/DOM

  • 已實現 RadioNodeList API,選中的單選按鈕可透過 RadioNodeList.value 訪問(Firefox bug 779723)。
  • 已新增 DOMMatrixFirefox bug 1018497)。
  • 添加了一個非標準的(但在其他瀏覽器中已實現)DOMException.stack 屬性。它返回一個字串,包含人類可讀的格式化堆疊(Firefox bug 857648),格式與現有的非標準 Error.stack 屬性相同。
  • 對於 <canvas>,實現了 CanvasPattern.setTransform() 方法,該方法允許使用線性變換的 DOMMatrix 表示來修改模式(Firefox bug 1019257)。
  • 我們對 Media Source Extensions 的實驗性實現,由 media.mediasource.enabled 偏好設定控制,僅在 Nightly 和 Aurora 版本中預設啟用,現在支援 MP4(Firefox bug 1000686)。
  • HTMLMediaElement.audioTracksHTMLMediaElement.videoTracks 屬性已進行實驗性實現。它們由 media.track.enabled 控制,預設關閉(Firefox bug 744896)。
  • 非標準的 XMLHttpRequest.mozBackgroundRequest() 不再可從網站訪問。只有 Firefox 內部程式碼(Chrome 程式碼)可以使用它(Firefox bug 1035242)。
  • 已從規範中移除的 touchentertouchleave 事件已被移除(Firefox bug 1036444)。
  • HTMLTrackElement 上傳送的先前稱為 loaded 的事件已重新命名為 load,以符合規範(Firefox bug 1035505)。
  • IndexedDB 介面 FileHandle 已重新命名為 IDBMutableFileFirefox bug 1006485)。
  • IndexedDB 介面 LockedFile 已重新命名為 IDBFileHandleFirefox bug 1006485)。
  • ServiceWorker 介面已在 dom.serviceWorkers.enabled 標誌下實現(Firefox bug 903441)。
  • NetworkInformation.type 現在也支援 "unknown" 值(Firefox bug 1023029)。

MathML

SVG

無更改。

音訊/影片/WebRTC

WebGL

  • 現在公開了 EXT_blend_minmax。它透過新增兩個新的混合方程來擴充套件混合功能:生成源和目標顏色的最小或最大顏色分量(Firefox bug 973815)。

安全

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

  • JavaScript Debugger Service (JSD) 已被移除,取而代之的是新的 Debugger APIFirefox bug 800200)。
  • nsIX509CertDB2 介面已被移除,該介面的方法已移至 nsIX509CertDB 介面。

附加元件 SDK

亮點

  • 透過 `Panel` 建構函式中的新選項,增加了對面板中上下文選單的支援。
  • 添加了 `tab.readyState`。
  • 向 `sidebar.show()` 和 `sidebar.hide()` 添加了 `BrowserWindow` 引數,以控制將顯示或隱藏側邊欄的視窗。

詳情

Firefox 32 和 Firefox 33 之間的 GitHub 提交。這不包括此版本進入 Aurora 之後進行的任何更新。

Firefox 32 和 Firefox 33 之間的已修復 Bug。這不包括此版本進入 Aurora 之後進行的任何更新。