Firefox 135 開發人員發行說明

本文件提供了有關 Firefox 135 中影響開發人員的更改資訊。Firefox 135 於 2025 年 2 月 4 日釋出。

Web 開發人員的變更

HTML

無顯著變化

CSS

移除

JavaScript

  • 現已支援 JSON 解析源提案,該提案旨在提供功能,以緩解在 JavaScript 值和 JSON 文字之間轉換大浮點數和日期值等值時發生的精度丟失問題(Firefox bug 1934622)。具體來說,以下功能現已可用:
    • JSON.parse()reviver 引數 context 引數:提供對已解析的原始 JSON 源文字的訪問。
    • JSON.isRawJSON():測試一個值是否是 JSON.rawJSON() 返回的物件。
    • JSON.rawJSON():建立一個包含一段 JSON 文字的“原始 JSON”物件,然後可以將其包含在一個物件中,以便在字串化該物件時保留指定值。

安全

  • 證書透明度是一項標準,用於確保在 Web 瀏覽器信任證書之前對其進行公開披露。Firefox 現在在桌面版本(Android 除外)上支援此功能。這僅影響使用 Mozilla 根證書程式中的證書頒發機構頒發的證書的伺服器。(Firefox bug 1938242)。

API

DOM

媒體、WebRTC 和 Web Audio

WebDriver 一致性 (WebDriver BiDi, Marionette)

通用

  • 為了使使用者事件更逼真,並更好地模擬瀏覽器中的真實使用者互動,我們將 Marionette 和 WebDriver BiDi 中的 Perform Actions 命令的動作序列處理從內容程序移到了父程序。雖然事件仍從內容程序同步傳送,但現在透過源自父程序的 IPC 呼叫非同步觸發(Firefox bug 1922077)。

    由於這一重大變更,可能仍然存在一些迴歸。如果您遇到任何問題,請 為 Remote Agent 提交 bug。如果迴歸阻止了測試執行,您可以透過將 Firefox 首選項 remote.events.async.enabled 設定為 false 來暫時恢復到之前的行為。

  • 現在由父程序處理動作,以下問題也已得到修復:

    • 我們現在支援動作序列的正確排隊,沒有競爭條件。這對於 WebDriver BiDi 的 input.performActions 命令尤為重要,該命令可以並行多次呼叫,並且必須按順序執行排隊的動作(Firefox bug 1915798)。

    • 在分派動作時,input cancel list 僅在動作成功分派後才得到正確更新。以前,如果一個動作執行失敗,可能會保留一個反向動作,導致在重置 input source 狀態時出現意外的副作用(Firefox bug 1930845)。

    • 在執行動作時,單個動作現在會在分派時重試,尤其是在單個動作觸發導航替換當前瀏覽上下文的情況下(Firefox bug 1930530Firefox bug 1930090)。

    • 在執行動作時,如果動作鏈中的某個動作(不是最後一個)關閉了視窗,並且其餘動作仍在分派,則會發生 TypeError: can't access property "getActor", browsingContext.currentWindowGlobal is null 錯誤(Firefox bug 1932916)。

  • 一些內部依賴於在返回之前發出 requestAnimationFrame 的 Marionette 和 WebDriver BiDi 命令,如果在執行期間導航到當前瀏覽上下文,則會掛起(Firefox bug 1937118)。

WebDriver BiDi

  • browsingContext.captureScreenshot 命令添加了對 format 欄位的支援,允許客戶端指定不同的檔案格式(目前支援 image/pngimage/jpeg),並定義螢幕截圖的壓縮質量(Firefox bug 1861737)。

附加元件開發人員的變更

實驗性 Web 功能

這些功能是 Firefox 135 中新發布的,但預設情況下是停用的。要嘗試它們,請在 about:config 頁面上搜索相應的首選項並將其設定為 true。您可以在 實驗性功能頁面上找到更多此類功能。

  • Temporal API(Nightly 版本):javascript.options.experimental.temporalTemporal 物件旨在簡化在各種場景下處理日期和時間,並內建時區和日曆表示。(Firefox bug 1912511)。
  • Prioritized Task Scheduling APIdom.enable_web_task_schedulingPrioritized Task Scheduling API 提供了一種標準化的方法來優先處理屬於應用程式的所有任務,無論它們是在網站開發者程式碼中定義的,還是在第三方庫和框架中定義的。為了避免 實際使用中出現中斷,此功能已暫時在 Nightly 版本中停用。(Firefox bug 1938242)。