Firefox 70 開發者發行說明
本文件提供有關 Firefox 70 中將影響開發人員的更改的資訊。Firefox 70 於 2019 年 10 月 22 日釋出。
Web 開發人員的變更
開發者工具
偵錯程式更新
- 在偵錯程式中,您現在可以為DOM 變動設定斷點,因此當節點或其屬性發生更改或節點從 DOM 中移除時,執行將暫停(Firefox bug 1576219)。
- 偵錯程式現在在頁面暫停時顯示一個覆蓋層,帶有基本的單步執行按鈕,讓您可以單步執行和繼續(Firefox bug 1574646)。
- 偵錯程式現在顯示已被引擎丟棄的源(通常是在頁面載入期間執行一次的指令碼),因此您可以正確設定斷點以在其下次執行時進行除錯(Firefox bug 1572280)。
- 偵錯程式的作用域面板分組已簡化,整合了以前顯示在頂級函式之上的其他作用域(例如,由
let、with或if/else建立的塊)(Firefox bug 1448166)。 - 偵錯程式現在在單步執行時保留作用域面板中當前選定和展開的變數(Firefox bug 1405402)。
- 偵錯程式現在可以正確處理非同步函式的單步執行,使非同步函式除錯更容易(Firefox bug 1570178)。
- 在容器會話中除錯時(有助於測試不同的登入),偵錯程式中的源現在正確顯示(Firefox bug 1375036)。
debugger語句現在可以透過在其上設定斷點並將斷點切換到“從不在此處暫停”來在偵錯程式中停用(Firefox bug 925269)。- WebExtensions 開發者可以從“儲存”選項卡下的“擴充套件儲存”項檢查
browser.storage.local(Firefox bug 1585499)。
其他更新
- 在頁面檢查器的規則檢視中,不活動的 CSS 屬性旁邊會顯示一個圖示,您可以將滑鼠懸停在該圖示上以獲取有關其為何不活動的資訊(Firefox bug 1306054)。
- 在CSS 規則檢視中,前景顏色上的顏色選擇器現在會告訴您其與背景顏色的對比度是否符合可訪問性一致性標準(Firefox bug 1478156)。
- 可訪問性檢查器的檢查問題下拉選單現在包含鍵盤可訪問性檢查(Firefox bug 1564968)。
HTML
- Firefox 現在可以在以下情況下向使用者建議安全生成的密碼:
- 一個
<input>元素具有autocomplete="new-password"屬性值。 - 使用者在任何密碼輸入元素上開啟上下文選單,即使它不用於新密碼。
- 一個
CSS
-
諸如
opacity或stop-opacity等不透明度值現在可以是百分比(Firefox bug 1562086)。 -
grid-auto-columns和grid-auto-rows現在接受多個軌道大小值(Firefox bug 1339672)。 -
一些與文字相關的 CSS 屬性已預設啟用(Firefox bug 1573631)。
text-decoration-thickness.text-underline-offset.text-decoration-skip-ink。預設值為auto,這意味著預設情況下,下劃線和上劃線現在會在它們跨越字形的地方中斷。
-
display屬性現在接受兩個表示內部和外部顯示型別的關鍵字值(Firefox bug 1038294、WebKit bug 1105868和WebKit bug 1557825)。 -
font-size屬性現在接受新的關鍵字值xxx-large。(Firefox bug 1553545)。 -
出於邏輯和效能原因,
:visited偽類不再匹配<link>元素(Firefox bug 1572246;有關更多原因,請參閱意圖釋出:使<link>元素始終未訪問和[選擇器] :link 和 <link>)。 -
我們現在支援
quotes屬性的auto值(Firefox bug 1421938)。 -
包含在
<style>元素中的樣式表現在被快取以供重用,以提高效能(Firefox bug 1480146)。請注意,這目前不包括包含@import規則的樣式表。 -
<ratio>型別現在接受<number>/<number>或單個<number>作為值。(Firefox bug 1565562)。
移除
- 我們已停止支援 3 值<position>(不包括背景)(Firefox bug 1559276)。
none值現在在counter()/counters()中無效——此更改使 Level 3 規範與 CSS 2.1 匹配(Firefox bug 1576821)。
SVG
- 剪下、複製和貼上事件現在分派到 SVG 圖形元素(Firefox bug 1569474)。
MathML
<math>元素上已棄用的mode屬性已被移除(Firefox bug 1573438)。- 不再支援非零無單位長度值,例如
5表示500%。 - 以點結尾的長度值,例如
2.或34.px,現在也不受支援。
JavaScript
- 現在支援數字分隔符(Firefox bug 1435818)。
Intl.RelativeTimeFormat.formatToParts()方法已實現(Firefox bug 1473229)。BigInt.prototype.toLocaleString()方法已更新,以根據 ECMAScript 402 Intl API 使用locales和options引數。此外,Intl.NumberFormat.format()和Intl.NumberFormat.formatToParts()現在接受BigInt值(Firefox bug 1543677)。- 根據最新的 ECMAScript 規範,BigInt 字面量現在絕不允許前導零,這使得
08n和09n無效,類似於使用舊式八進位制數(如07n)時已有的錯誤。對於八進位制BigInt數,始終使用帶字母“o”(小寫或大寫)的前導零(即0o755n而不是0755n)。請參閱Firefox bug 1568619。 - 現在支援
Intl.RelativeTimeFormat建構函式的 Unicode 擴充套件鍵“nu”,並且Intl.RelativeTimeFormat.resolvedOptions()方法現在也返回numberingSystem(Firefox bug 1521819)。
API
DOM
back()、forward()和go()方法現在是非同步的。新增popstate事件的監聽器以獲取導航完成的通知(Firefox bug 1563587)。- 我們已在 Web Workers 中添加了對
DOMMatrix、DOMPoint等的支援(Firefox bug 1420580)。 - 更多的成員已從
HTMLDocument移動到Document,包括Document.all、Document.clear、Document.captureEvents和Document.clear(Firefox bug 1558570、Firefox bug 1558571)。 - 不再允許在跨域
<iframe>中請求通知許可權(Firefox bug 1560741)。
媒體、Web Audio 和 WebRTC
- 已新增
RTCPeerConnection.restartIce()方法。這是實現新“完美協商”機制所需的四個更改之一;其餘將在未來的 Firefox 更新中提供(Firefox bug 1551316)。 RTCPeerConnection.setRemoteDescription()方法現在可以不帶引數呼叫。這是另一個“完美協商”更新(Firefox bug 1568292)。- 現在支援
MediaTrackSupportedConstraints.groupId,並且由於現在支援MediaTrackConstraints.groupId屬性,因此返回true(Firefox bug 1561254)。 - 已實現/更新一些新的 Web Audio API 功能:
- 實現了
AudioContext.getOutputTimestamp()(Firefox bug 1324545)。 - 實現了
AudioContext.baseLatency和AudioContext.outputLatency(Firefox bug 1324552)。 - 實現了
MediaElementAudioSourceNode.mediaElement和MediaStreamAudioSourceNode.mediaStream(Firefox bug 1350973)。 - 如果嘗試將
channelCount和channelCountMode設定為無效值,ChannelMergerNode()建構函式現在會丟擲錯誤(Firefox bug 1456263)。
- 實現了
Canvas 和 WebGL
- 我們現在支援
CanvasRenderingContext2D.getTransform(),以及接受矩陣物件作為引數而不是表示矩陣各個元件的多個引數的更新版本CanvasRenderingContext2D.setTransform()(Firefox bug 928150)。
HTTP
- 當增強跟蹤保護開啟時,第三方跟蹤資源的預設 referrer policy 現在是
strict-origin-when-cross-origin(Firefox bug 1569996)。 Referer請求頭的長度現在限制為 4 KB(4,096 位元組)。如果過長的 referer 超過定義限制,將只發送原始部分(Firefox bug 1557346)。- HTTP 快取現在按頂級文件的源進行分割槽(Firefox bug 1536058)。
移除
X-Frame-Options的allow-from uri指令已被移除。請改用帶有frame-ancestors指令的Content-Security-Policy頭(Firefox bug 1301529)。
WebDriver 符合性 (Marionette)
- 更新了
WebDriver:TakeScreenshot命令以相容Fission。這意味著來自跨域 iframe 的內容現在包含在頁面截圖中。或者當從 chrome 作用域使用它時,活動選項卡的內容現在在瀏覽器視窗中可見。(Firefox bug 1559592)。 WebDriver:TakeScreenshot不再接受用於高亮的 DOM 元素列表(Firefox bug 1575511)。WebDriver:ExecuteScript和WebDriver:ExecuteAsyncScript不再以 Web 可訪問的方式設定window.onunload(Firefox bug 1568991)。
附加元件開發人員的變更
API 更改
- 向
topSites.get()方法添加了一個新引數,該引數導致該方法返回使用者開啟新選項卡時出現的頁面列表(Firefox bug 1568617)。 - 已修改
privacy.network屬性的webRTCIPHandlingPolicy子屬性的允許值(在Firefox bug 1452713中),以匹配 Chrome 中觀察到的行為,如下所示:disable_non_proxied_udp以前在未配置代理時阻止使用 WebRTC。現在,如果配置了代理,則始終使用代理,否則允許非代理連線。proxy_only可用於提供舊行為;這會產生僅允許透過使用代理的 TCP 上的 TURN 進行 ICE 協商的效果;不允許其他連線。
清單更改
移除
以下主題鍵屬性(為基於 Chromium 的瀏覽器中使用的主題鍵提供了別名)已被移除:
images屬性headerURL,主題現在應使用theme_frame。colors屬性accentcolor,主題現在應使用frame。textcolor,主題現在應使用tab_background_text。
另見
- Hacks 釋出文章:Firefox 70 — 豐碩的釋出