Web 開發人員的變更
HTML
- 現在支援
hidden=until-foundHTML 屬性和beforematch事件。hidden until found 狀態允許您隱藏元素的內容,直到使用者搜尋(例如,使用“頁面查詢”)或片段導航找到該元素。beforematch事件在hidden屬性被移除之前觸發(Firefox bug 1761043 和 Firefox bug 1955379)。
CSS
無顯著變化
JavaScript
- 現在支援 Temporal API,該 API 旨在簡化各種場景下日期和時間的處理,並內建了時區和日曆表示(Firefox bug 1912511 和 Firefox bug 1954138)。這包括:
- 持續時間(兩個時間點之間的差值):
Temporal.Duration - 時間點:
- 作為歷史上的一個獨特瞬間
- 時間戳:
Temporal.Instant - 帶時區的日期時間:
Temporal.ZonedDateTime
- 時間戳:
- 不帶時區的日期/時間(“純粹”):
- 日期(年、月、日)+ 時間(時、分、秒、毫秒、納秒):
Temporal.PlainDateTime- 日期(年、月、日):
Temporal.PlainDate - 時間(時、分、秒、毫秒、納秒):
Temporal.PlainTime
- 日期(年、月、日):
- 日期(年、月、日)+ 時間(時、分、秒、毫秒、納秒):
- 作為歷史上的一個獨特瞬間
- 當前時間(當前時間),以各種類例項的形式,或特定格式:
Temporal.Now
- 持續時間(兩個時間點之間的差值):
- 目前,以下日曆型別在
withCalendar()方法中被停用,用於PlainDate、PlainDateTime和ZonedDateTime物件:islamicislamic-rgsaislamic-umalqura
SVG
移除
- 實驗性的
<discard>元素已被移除,以及其對應的SVGDiscardElementJavaScript 介面。這些在其他瀏覽器中不被支援,並且預計將被從規範中移除。(Firefox bug 1958839)。
HTTP
無顯著變化
API
DOM
- 現在支援
HTMLDialogElement介面的requestClose()方法。這使得開發者可以透過提供cancel事件處理程式來有條件地阻止對話方塊關閉。(Firefox bug 1960556)。 - 現在支援 Web Authentication 擴充套件
largeBlob和credProps,同時prf擴充套件在所有桌面平臺上都得到支援。它們分別提供了對與憑證關聯的大型 Blob 儲存、憑證的附加資訊以及生成與憑證和特定輸入關聯的隨機數的機制的支援。(Firefox bug 1795020、Firefox bug 1844449、Firefox bug 1935280)。
WebDriver 一致性 (WebDriver BiDi, Marionette)
通用
- Firefox 中的優先順序管理器(在 macOS 上是後臺 QoS 管理器),它負責管理父程序和內容程序之間的 IPC 訊息優先順序,已被暫時停用所有支援的遠端協議。此更改解決了在系統負載很高的情況下,新開啟的後臺標籤頁中的初始頁面載入未被排程的問題,導致某些命令掛起(Firefox bug 1960734)。
WebDriver BiDi
- 實現了
emulation.setGeolocationOverride命令,允許測試和自動化工具在指定的瀏覽上下文或使用者上下文中模擬地理位置。這使得使用者可以測試諸如本地推薦的地理圍欄等位置感知功能(Firefox bug 1954992)。
附加元件開發人員的變更
- 本地化擴充套件現在會透過區域設定子標記進行級聯查詢翻譯,然後再回退到擴充套件的預設語言。以前,如果找不到帶子標記的語言的翻譯,擴充套件會使用擴充套件預設值。有關新行為的更多詳細資訊,請參閱國際化文章中的 本地化字串選擇。(Firefox bug 1381580)
- 現在保證內容指令碼和樣式將按照註冊順序執行(即,它們在
content_scripts manifest key array中的順序)。以前,僅保證同一js陣列內的指令碼的順序。(Firefox bug 1792685) - 現在可以使用
tabGroupsAPI。此 API 使擴充套件能夠修改和重新排列 標籤組。有關更多資訊,請參閱 WebExtensions 對標籤組的支援。(Firefox bug 1940631)
實驗性 Web 功能
這些功能在 Firefox 139 中釋出,但預設情況下停用。要嘗試使用它們,請在 about:config 頁面上搜索相應的首選項並將其設定為 true。您可以在 實驗性功能頁面上找到更多此類功能。
- 優先順序任務排程 API(Nightly 版本)。優先順序任務排程 API 提供了一種標準化的方式來為屬於應用程式的所有任務分配優先順序,無論它們是在網站開發人員的程式碼中定義的,還是在第三方庫和框架中定義的。這增加了對
scheduler.yield()方法的支援,並重新啟用了 Nightly 版本中的整個 API。(Firefox bug 1958943、Firefox bug 1920115)。 - 檢視過渡 API(Nightly 版本)。已為 SPA(單頁應用程式)啟用了 檢視過渡 API。它提供了一種輕鬆建立不同網站檢視之間動畫過渡的機制。(Firefox bug 1950759)。
- 序列化 HTML 時支援轉義屬性中的
<和>:dom.security.html_serialization_escape_lt_gt。Firefox 現在會在序列化 HTML 時,將屬性中的<和>字元分別替換為<和>。這有助於防止某些在 HTML 被序列化然後注入回 DOM 的攻擊。受影響的方法和屬性是:Element.innerHTML、Element.outerHTML、Element.getHTML()、ShadowRoot.innerHTML和ShadowRoot.getHTML()。(Firefox bug 1941347)。 - 停用非標準
beforescriptexecute和afterscriptexecute:dom.events.script_execute.enabled。這些事件已僅在 Nightly 版本中停用,允許在移除它們之前進行瀏覽器測試。受影響的事件是Document介面上的beforescriptexecute和afterscriptexecute,以及Element介面上的afterscriptexecute和beforescriptexecute。(Firefox bug 1954685)。