Firefox 68 開發者版本更新說明
本文提供 Firefox 68 中會影響開發者的功能變更資訊。Firefox 68 於 2019 年 7 月 9 日釋出。
Web 開發人員的變更
開發者工具
瀏覽器/網路控制檯
- 網路控制檯現在會顯示更多關於 CSS 警告的資訊,包括使用該規則的 DOM 元素的節點列表(Firefox bug 1093953)。
- 現在可以使用正則表示式過濾網路控制檯中的內容(Firefox bug 1441079)。
- 瀏覽器控制檯現在允許您透過選中或取消選中名為“顯示內容訊息”的複選框來顯示或隱藏來自內容程序的訊息(Firefox bug 1260877)。
JavaScript 偵錯程式
- 現在可以透過按下
Shift+Ctrl+F(Windows 或 Linux)或Shift+Cmd+F(macOS)從偵錯程式中搜尋當前專案中的所有檔案(Firefox bug 1320325)。
網路監視器
- 網路監視器請求列表現在允許您阻止特定 URL(Firefox bug 1151368)。
- 現在可以使用上下文選單上的重新發送命令,無需編輯方法、URL、引數和標頭即可重新發送網路請求(Firefox bug 1422014)。
- 網路監視器標頭選項卡的上下文選單現在允許您以 JSON 格式將全部或部分標頭資訊複製到剪貼簿(Firefox bug 1442249)。
頁面檢查器
- 頁面檢查器的規則面板中添加了一個按鈕,允許您切換任何列印媒體查詢的顯示(Firefox bug 1534984)。
- 字體面板現在包含一個滑塊來修改
letter-spacing(Firefox bug 1536237)。 - 不支援的 CSS 屬性或具有無效值的規則旁邊會出現一個警告圖示,以幫助您瞭解某些樣式未應用的原因(Firefox bug 1306054)。
儲存檢查器
- 現在可以透過在儲存檢查器中選擇專案並按退格鍵來刪除本地和會話儲存條目(Firefox bug 1522893)。
其他
- 輔助功能檢查器現在包含一個新的“檢查問題”功能,其中包括許多審計工具,用於突出顯示網頁上的輔助功能問題。第一個可用的檢查是“對比度”,用於突出顯示顏色對比度問題。
- 控制 about:debugging 頁面上內部擴充套件(系統附加元件和隱藏擴充套件)可見性的首選項已從
devtools.aboutdebugging.showSystemAddons更改為devtools.aboutdebugging.showHiddenAddons(Firefox bug 1544372)。 - 響應式設計模式已經重新設計——“裝置設定”對話方塊(裝置選擇選單 > 編輯列表...)現在更加直觀且易於使用(Firefox bug 1487857)。
移除
- “啟用附加元件除錯”複選框已從 about:debugging 頁面中移除(Firefox bug 1544813)。
HTML
<track>元素(由HTMLTrackElement表示)現在除了TextTrack本身之外,還會收到一個cuechange事件,如果文字軌道包含在媒體元素中(Firefox bug 1548731)。<link>元素再次支援disabled屬性,儘管行為有所不同。當disabled設定在<link>元素上並帶有rel="stylesheet"時,引用的樣式表在頁面載入期間不會載入,並且會在disabled屬性更改為false或移除時按需載入(Firefox bug 1281135)。
移除
CSS
-
CSS 滾動吸附已更新到規範的最新版本(Firefox bug 1312163)和(Firefox bug 1544136),這包括
scroll-padding屬性(Firefox bug 1373832)scroll-margin屬性(Firefox bug 1373833)scroll-snap-align屬性(Firefox bug 1373835)
-
為了與其他瀏覽器相容,已實現
-webkit-line-clamp屬性(Firefox bug 866102)。 -
已新增對
::marker偽元素的支援(Firefox bug 205202)以及::marker偽元素的動畫(Firefox bug 1538618)。 -
我們將
currentColor更改為計算值(除了color屬性)(Firefox bug 760345)。 -
已修復對
ch長度單位的支援,使其現在符合規範(沒有 '0' 字形的備用方案,垂直度量)(Firefox bug 282126)。 -
已實現
counter-set屬性。(Firefox bug 1518201)。 -
我們現在使用內建的“list-item”計數器實現列表編號;這修復了列表編號錯誤(Firefox bug 288704)。
-
已為
::part()實現選擇器匹配和解析支援(Firefox bug 1545430)和(Firefox bug 1545425)。 -
CSS 變換現在支援間接渲染的事物,例如
<mask>、<marker>、<pattern>、<clipPath>(Firefox bug 1323962)。 -
雖然我們出於相容性原因保留了各種漸變屬性的帶字首版本
linear-gradient()、radial-gradient()和repeating-radial-gradient(),但我們修改了它們的解析方式,使其更像不帶字首的版本。這意味著某些現有樣式將無法正常工作。特別是,同時接受角度和位置的複雜語法將不再起作用,並且帶字首的漸變屬性的
<side-or-corner>引數中不再需要to關鍵字。建議您改用標準的不帶字首的漸變屬性,因為它們現在已廣泛支援(Firefox bug 1547939)。
移除
scroll-snap-coordinate、scroll-snap-destination、scroll-snap-type-x和scroll-snap-type-y已被移除。scroll-snap-type屬性已成為長手屬性,因此舊的縮寫語法(如scroll-snap-type:mandatory)將停止工作。
SVG
無更改。
JavaScript
- 新的
BigInt原始型別預設啟用(Firefox bug 1527902)。 - 字串通用方法已移除(Firefox bug 1222552)。
API
CSS 物件模型 (CSSOM)
- 已將舊版
rules屬性以及addRule()和removeRule()方法新增到CSSStyleSheet介面。這些是 Internet Explorer 9 引入的,從未完全淘汰,因此新增它們是為了提高與仍在使用它們的一小部分網站的相容性(Firefox bug 1545823)。
DOM
- 視覺視口 API 現在已在 Android 上預設啟用(Firefox bug 1512813)。將此 API 新增到 Firefox 桌面版本的工作正在 Firefox bug 1551302 中跟蹤。
Window功能noreferrer現在受支援;如果指定,新視窗的內容將在不共享主機名、IP 地址、URL 或關於主機裝置的其他識別資訊的情況下載入(Firefox bug 1527287)。HTMLImageElement上的decode()方法現在已實現。這可用於在將影像新增到 DOM 之前觸發影像的載入和解碼(Firefox bug 1501794)。XMLHttpRequest已更新,不再接受responseType的非標準moz-chunked-arraybuffer值。仍在使用它的程式碼應更新為將 Fetch API 用作流(Firefox bug 1120171)。- 如果在使用
unload、beforeunload或pagehide事件時執行同步請求,XMLHttpRequest現在會向控制檯輸出警告(Firefox bug 980902)。 cookie屬性已從HTMLDocument介面移至Document介面,允許 HTML 以外的文件使用 cookie(Firefox bug 144795)。HTMLElement.focus()和SVGElement.focus()方法現在接受一個可選物件,該物件可能包含一個布林值preventScroll選項,用於指定是否阻止瀏覽器將新聚焦的元素滾動到檢視中(Firefox bug 1374045)。
DOM 事件
- Android 版 Firefox 不再在繪製第一幀之前錯誤地傳送
resize事件;這提高了與不期望此事件發生的網站的 Web 相容性(Firefox bug 1528052)。 - 非主滑鼠按鈕的事件分派已更緊密地遵循規範;單擊非主按鈕時不再發送
click事件,而是使用auxclick。此外,dblclick不再為非主按鈕觸發(Firefox bug 1379466)。 - 專有
mozPressure屬性已被棄用,現在會在控制檯中觸發警告(Firefox bug 1165211)。
媒體、Web Audio 和 WebRTC
-
由於 Google Play 商店政策的變化,從 Android 版 Firefox 68 開始,用於處理 WebRTC 連線中 AVC/H.264 影片的 OpenH264 編解碼器無法再下載和安裝。因此,在 Android 裝置上新安裝的 Firefox 不再支援 WebRTC 呼叫中的 AVC。如果您從早期版本的 Firefox 升級並且已經下載了編解碼器,它將繼續工作。這不影響其他平臺。有關更多詳細資訊,請參閱 SUMO 上的這篇文章或 Firefox bug 1548679。
-
WebRTC 已更新,以識別傳遞給
icecandidate事件處理程式的null候選者,不再指示已收到候選者,而是指示沒有更多候選者到來;當發生這種情況時,ICE 收集(iceGatheringState)狀態達到complete(Firefox bug 1318167)。 -
RTCRtpReceiver方法getContributingSources()和getSynchronizationSources()現在支援影片軌道;以前它們只適用於音訊(Firefox bug 1534466)。 -
Web 音訊 API
MediaStreamTrackAudioSourceNode介面現在受支援,方法AudioContext.createMediaStreamTrackSource()也受支援(Firefox bug 1324548)。 -
MediaStreamAudioSourceNode()建構函式已更新,以匹配當前規範的定義,即流中的“第一個音訊軌道”是 ID 在字典順序中排在前面的軌道(Firefox bug 1324548)。 -
不再允許從非安全上下文中使用
getUserMedia();嘗試這樣做現在會丟擲NotAllowedError異常。安全上下文是使用 HTTPS 載入的上下文、使用file:///方案定位的上下文以及從localhost載入的上下文。目前,如果您必須這樣做,可以透過將首選項media.getusermedia.insecure.enabled設定為true來重新啟用執行不安全getUserMedia()呼叫的能力(Firefox bug 1335740)。注意:將來,Firefox 還將移除不安全上下文上的
navigator.mediaDevices屬性,從而阻止對MediaDevicesAPI 的所有訪問。Nightly 構建中已經如此。
移除
- 移除了非標準的
XMLDocument.load()方法(Firefox bug 332175)。 - 移除了非標準的
XMLDocument.async屬性(Firefox bug 1328138)。 RTCIceServer.credentialTypetoken值已移除(Firefox bug 1529595)。
HTTP
- HTTP
Clear-Site-Data標頭不再支援executionContexts指令。由於導航過程中不同型別資料之間相互連線的問題以及規範的設計方式,此指令已被移除。有人提議因此以及其他原因將此指令從規範中移除(Firefox bug 1548034)。
移除
- 由於對其標準化狀態的擔憂,不再支援
Content-Security-Policy指令require-sri-for。它以前僅在預設關閉的首選項之後可用(Firefox bug 1386214)。
安全
- 由於 CVE-2019-11730:同源策略將目錄中的所有檔案視為同源,已進行更改,因此 Firefox 現在將同一目錄中的檔案視為來自不同源。這會對透過 file:// URL 載入的文件中的工作方式產生許多副作用(有關有用的背景研究,請參閱 Firefox bug 1558299)。例如,工作程式不再能夠載入。
WebDriver 符合性 (Marionette)
錯誤修復
- 如果
WebDriver:SwitchToWindow將選擇更改為不同的視窗,它現在會在返回之前等待其focus和activate事件(Firefox bug 1335085)。 - 修復了
TypeError: this.tabModal is null故障,該故障有時在與模態對話方塊或使用者提示互動時出現(Firefox bug 1538782)。
其他
- 停用在低記憶體條件下強制解除安裝後臺選項卡的功能,以防止頂級瀏覽器上下文神奇地消失(Firefox bug 1553748)。
- 停用導致在開啟新選項卡後導航到網站時 HTTP 身份驗證對話方塊不出現的特權內容程序(Firefox bug 1558763)。
外掛
無更改。
附加元件開發人員的變更
API 更改
proxy.register()和proxy.unregister()函式已被棄用,並將從 Firefox 71 中移除(Firefox bug 1545811)。- 已向 proxy.RequestDetails 物件添加了一個布林標誌
incognito。當為true時,表示這是一個私密瀏覽請求(Firefox bug 1545163)。 - webRequest.RequestFilter 引數可以包含一個 incognito 引數。如果提供,與 incognito 狀態(
true或false)不匹配的請求將被過濾掉(Firefox bug 1548177)。 - 已向 proxy.RequestDetails 物件添加了一個字串值
cookieStoreId,表示當前上下文的 cookie 儲存 ID(Firefox bug 1545420)。 - 當附加元件嘗試將書籤資料夾新增到根資料夾時,生成的錯誤訊息現在更加直觀(Firefox bug 1512171)。
browser.tabs.duplicate()返回的 promise 現在會立即解析,在選項卡完全載入之前(Firefox bug 1394376)。- 已新增對 chrome.storage.managed 的支援,允許透過企業策略實施 Web 擴充套件設定(Firefox bug 1230802)。
proxy.onRequest中的proxyAuthorization和connectionIsolation現在僅適用於 HTTPS 代理(Firefox bug 1549368)。
清單更改
無更改。
另見
- Hacks 釋出文章:Firefox 68:BigInts、對比度檢查和 QuantumBar