Firefox 35 開發者發行說明
Firefox 35 於 2015 年 1 月 13 日釋出。本文件列出了對 Web 開發者、Firefox 和 Gecko 開發者以及外掛開發者有用的主要更改。
面向網路開發者的變更
開發者工具
亮點
CSS
mask-type屬性現已預設啟用(Firefox bug 1058519)。filter屬性現已預設啟用(Firefox bug 1057180)。@font-faceat-rule 現在支援 WOFF2 字型(Firefox bug 1064737)。- 現在支援
symbols()函式式表示法(Firefox bug 966168)。 - 已實現 CSS 字型載入 API(Firefox bug 1028497)。
- 在組合框上使用值為
none的-moz-appearance會移除下拉按鈕(Firefox bug 649849)。 - 已新增屬性訪問器
element.style["css-property-name"]以匹配其他瀏覽器(Firefox bug 958887)。
HTML
<body>元素的已棄用且不符合規範的bottommargin、leftmargin、rightmargin和topmargin屬性在非混雜模式下已啟用(Firefox bug 95530)。
JavaScript
-
已實現
let宣告的“臨時死區”(TDZ)。根據 ES2015let語義,以下情況現在會引發錯誤。另請參閱此新聞組公告和Firefox bug 1001090。- 在函式體內,在同一範圍內使用
let重新宣告現有變數或引數現在是語法錯誤。 - 在函式體內,在達到並求值宣告之前使用透過
let宣告的變數現在是執行時錯誤。
- 在函式體內,在同一範圍內使用
-
ES2015
Symbols(僅在 Nightly 版本中可用)已更新,以符合最新的規範更改。String(Symbol("1"))現在不再丟擲TypeError;而是返回一個字串("Symbol(1)")(Firefox bug 1058396)。
-
各種TypedArray 建構函式的
[[Prototype]]現在是單個函式,在 ES2015 中表示為%TypedArray%(但其他情況下不直接暴露)。每個型別化陣列原型現在都繼承自%TypedArray%.prototype。(%TypedArray%和%TypedArray%.prototype分別繼承自Function.prototype和Object.prototype,以便型別化陣列建構函式和例項仍然具有那些物件上的屬性。)型別化陣列函式屬性現在位於%TypedArray%.prototype上,並適用於任何型別化陣列。有關更多資訊,請參閱TypedArray 和Firefox bug 896116。 -
已實現 ES2015 語義,用於使用物件字面量進行原型突變(Firefox bug 1061853)。
- 現在,物件字面量語法中只有一個表示為
__proto__:value的成員會突變[[Prototype]]。 - 像
__proto__() {}這樣的方法成員將不再覆蓋[[Prototype]]。
- 現在,物件字面量語法中只有一個表示為
介面/API/DOM
navigator.language和navigator.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移動到Element(Firefox bug 1055773)。HTMLImageElement、HTMLLinkElement、HTMLMediaElement、HTMLScriptElement和SVGScriptElement的crossOrigin反射屬性僅接受有效值,""無效,必須改用null(Firefox bug 880997)。- 資源計時 API 已預設啟用(Firefox bug 1002855)。
- 為匹配規範,
Selection.containsNode()的第一個引數不能再是null(Firefox bug 1068058)。 - 已實現新的
ImageCaptureAPI: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屬性控制,預設值為false(Firefox 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 實驗性實現正在進行中!
- 已實現
WebGL2RenderingContext.copyBufferSubData()方法(Firefox bug 1048668)。
- 已實現
MathML
dtlsOpenType 功能(透過預設樣式表上的 CSSfont-feature-settings)現在會自動應用於 MathML 元素,用於在其上方定位指令碼(例如,帶數學帽的無點 i)。
SVG
無更改。
音訊/影片
無更改。
網路與安全
- HTTP/2 已實現並啟用,僅支援 AEAD 密碼(Firefox bug 1027720 和 Firefox bug 1047594)。
- 現在支援 HTTP/2
alt-svc標頭(Firefox bug 1003448)。 - 已實現 HTTP 的公鑰固定擴充套件(HPKP)(Firefox bug 787133)。
- 現在支援 CSP 1.1
base-uri指令(Firefox bug 1045897)。 - 在 CSP 中進行主機源匹配時,現在也會考慮源路徑(Firefox bug 808292)。
面向附加元件和 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 後進行的任何提升。