Firefox 35 開發者發行說明

Firefox 35 於 2015 年 1 月 13 日釋出。本文件列出了對 Web 開發者、Firefox 和 Gecko 開發者以及外掛開發者有用的主要更改。

面向網路開發者的變更

開發者工具

亮點

Firefox 34 和 Firefox 35 之間修復的所有開發者工具 bug.

CSS

HTML

  • <body> 元素的已棄用且不符合規範的 bottommarginleftmarginrightmargintopmargin 屬性在非混雜模式下已啟用(Firefox bug 95530)。

JavaScript

  • 已實現 let 宣告的“臨時死區”(TDZ)。根據 ES2015 let 語義,以下情況現在會引發錯誤。另請參閱此新聞組公告Firefox bug 1001090

    • 在函式體內,在同一範圍內使用 let 重新宣告現有變數或引數現在是語法錯誤。
    • 在函式體內,在達到並求值宣告之前使用透過 let 宣告的變數現在是執行時錯誤。
  • ES2015 Symbols(僅在 Nightly 版本中可用)已更新,以符合最新的規範更改。

  • 各種TypedArray 建構函式[[Prototype]] 現在是單個函式,在 ES2015 中表示為 %TypedArray%(但其他情況下不直接暴露)。每個型別化陣列原型現在都繼承自 %TypedArray%.prototype。(%TypedArray%%TypedArray%.prototype 分別繼承自 Function.prototypeObject.prototype,以便型別化陣列建構函式和例項仍然具有那些物件上的屬性。)型別化陣列函式屬性現在位於 %TypedArray%.prototype 上,並適用於任何型別化陣列。有關更多資訊,請參閱TypedArrayFirefox bug 896116

  • 已實現 ES2015 語義,用於使用物件字面量進行原型突變Firefox bug 1061853)。

    • 現在,物件字面量語法中只有一個表示為 __proto__:value 的成員會突變 [[Prototype]]
    • __proto__() {} 這樣的方法成員將不再覆蓋 [[Prototype]]

介面/API/DOM

  • navigator.languagenavigator.languages 現在可供 WorkerNavigator 上的 worker 使用(Firefox bug 925849)。
  • Element.closest() 方法返回當前元素的最近的祖先(Firefox bug 1055533)。
  • CanvasRenderingContext2D.filter 屬性的實驗性支援已新增,透過 canvas.filters.enabled 標誌控制(Firefox bug 927892)。
  • 我們對 Web Animations 的實驗性實現正在透過 Animation.target 屬性的落地而進展。這始終由 dom.animations-api.core.enabled 首選項控制,預設關閉(Firefox bug 1067701)。
  • hasAttributes() 方法已根據規範要求從 Node 移動到 ElementFirefox bug 1055773)。
  • HTMLImageElementHTMLLinkElementHTMLMediaElementHTMLScriptElementSVGScriptElementcrossOrigin 反射屬性僅接受有效值,"" 無效,必須改用 nullFirefox bug 880997)。
  • 資源計時 API 已預設啟用(Firefox bug 1002855)。
  • 為匹配規範,Selection.containsNode() 的第一個引數不能再是 nullFirefox bug 1068058)。
  • 已實現新的 ImageCapture API:ImageCapture.takePhoto() 可用(Firefox bug 916643)。
  • 非 HTTP XMLHttpRequest 請求在成功時現在返回 200(而不是錯誤的 0)(Firefox bug 716491)。
  • XMLHttpRequest.responseURL 已根據最新規範進行調整,並且在相關時不再包含 URL 的片段('#xyz')(Firefox bug 1073882)。
  • 內部非標準的 File.mozFullPath 屬性不再可從內容可見(Firefox bug 1048293)。
  • File 的建構函式已擴充套件以匹配規範(Firefox bug 1047483)。
  • 已新增 AbortablePromise 的實驗性實現,這是一個可以被建立它的實體以外的其他實體中止的 Promise。它以 Moz 作為字首,並受 dom.abortablepromise.enabled 屬性控制,預設值為 falseFirefox bug 1035060)。
  • 非標準的 Navigator.mozIsLocallyAvailable 屬性已被移除(Firefox bug 1066826)。
  • network.websocket.enabled 首選項(預設值為 true)已被移除;WebSocket API 不再可以被停用(Firefox bug 1091016)。
  • Crypto 的非標準方法和屬性已被移除(Firefox bug 1030963)。只剩下標準 WebCrypto API 中定義的方法和屬性。
  • 我們的 WebGL 2.0 實驗性實現正在進行中!

MathML

  • dtls OpenType 功能(透過預設樣式表上的 CSS font-feature-settings)現在會自動應用於 MathML 元素,用於在其上方定位指令碼(例如,帶數學帽的無點 i)。

SVG

無更改。

音訊/影片

無更改。

網路與安全

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

XUL & 外掛

  • <xul:tabbrowser> 元素上的私有 _getTabForBrowser() 方法已被棄用。取而代之的是,我們添加了一個新的公共方法 getTabForBrowser。顧名思義,它返回包含指定 <xul:browser><xul:tab> 元素。
  • 為非視窗 chrome 程式碼實現了 Components.utils.now(),匹配 Performance.now()Firefox bug 969490)。

附加元件 SDK

亮點

  • 為上下文選單添加了訪問鍵。
  • BrowserWindow 中移除了 isPrivateBrowsing
  • URL 例項添加了 toJSON 方法。

詳情

Firefox 34 和 Firefox 35 之間的 GitHub commit。這不包括此版本進入 Aurora 後進行的任何提升。

Firefox 34 和 Firefox 35 之間的修復 bug。這不包括此版本進入 Aurora 後進行的任何提升。