前端前線 2026 年 5 月 22 日

2026-05-22 — Firefox 151 Web Serial API、JetStream 3 跨瀏覽器基準、STP 244 Worker 巢狀支援

primary=https://hacks.mozilla.org/2026/05/web-serial-support-in-firefox/ primary=https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API primary=https://webkit.org/blog/17899/introducing-the-jetstream-3-benchmark-suite/ primary=https://webkit.org/blog/17962/release-notes-for-safari-technology-preview-244/

Firefox 151 正式支援 Web Serial API:瀏覽器直接與序列埠裝置溝通

Mozilla Hacks · 2026-05-21

Firefox 151 桌面版於 2026 年 5 月 21 日正式啟用 Web Serial API,允許網頁應用程式透過 JavaScript 直接讀寫序列埠裝置,不再需要安裝原生應用程式。Chrome 早在 2021 年已支援此 API,Firefox 此次補齊了在硬體互動層的缺口。

API 設計與權限模型

存取序列埠的入口是 `navigator.serial.requestPort()`,呼叫後會彈出系統選擇對話框,讓使用者主動選擇並授權某一連接埠。網頁程式無法在使用者同意前靜默取得裝置列表。授權以「網站 × 連接埠」為粒度管理,使用者可隨時在瀏覽器設定中撤銷。

企業部署方面,Firefox Enterprise 預設關閉此功能。管理員可透過 DefaultSerialGuardSetting 群組政策控制是否啟用,與 Chrome 企業政策設計一致。

支援的裝置與使用情境

  • 微控制器開發板(ESP32、Raspberry Pi Pico、CircuitPython 相容板)
  • 3D 印表機與 LEGO Technic 系列裝置
  • 電力計與家庭自動化裝置(Home Assistant / ESPHome 生態)
  • Adafruit CircuitPython 韌體安裝流程(原本需安裝原生工具)

Mozilla 工程師 Florian Quèze 展示了一個耗電量監測工具,直接從瀏覽器讀取 USB 電力計數據,無需任何驅動程式。

標準化進程

Web Serial API 目前位於 WICG(Web Incubator Community Group)階段,Mozilla 正推動透過 WHATWG workstream proposal 進入正式標準。MDN 已備有完整文件。Firefox 的實作比 Chrome 更嚴格,每個授權請求都會顯示裝置描述而非僅列出連接埠路徑。

原始來源:Mozilla HacksMDN Web Serial API


JetStream 3:WebKit、Google、Mozilla 協作重建跨瀏覽器 JS/Wasm 效能基準

WebKit Blog · 2026-03-31

WebKit 團隊聯合 Google 與 Mozilla 於 2026 年 3 月底發布 JetStream 3,這是 JetStream 系列的重大改版。WebAssembly 測試的計分方法論全面重設計,同時新增 WasmGC、SIMD、例外處理等現代 Wasm 特性的測試項目。

計分方法論的核心改動

JetStream 2 將 WebAssembly 測試拆為「啟動」與「執行」兩個獨立計分階段。JetStream 3 統一採用與 JavaScript 相同的三指標方法:對同一段 Wasm 程式碼跑多次迭代,分別取出 First Iteration(冷啟動)、Worst Case Iterations(最差情況,反映 GC 暫停)、Average Case Iterations(穩態吞吐),最終以幾何平均計分。

此改動的動機是防止引擎「過擬合」:JetStream 2 的小型 microbenchmark 讓引擎可針對特定程式碼模式優化,不反映真實負載。JetStream 3 採用較大型、執行時間較長的工作負載,鼓勵引擎做通用性改善。

新增測試類別

  • JavaScript:private/public class fields、Promise/async 函式、現代 RegExp(named groups、indices)
  • WebAssembly:WasmGC(垃圾回收擴充)、SIMD(單指令多資料)、例外處理(exnref 提案)

WasmGC 測試特別重要——Kotlin、C#、Dart 等語言越來越多以 WasmGC 作為 Web 部署目標,JetStream 2 對此場景幾乎沒有覆蓋。

影響範圍

JetStream 3 已部署至 browserbench.org。由於計分方法改變,引擎在 JetStream 2 與 JetStream 3 之間的相對排名可能出現顯著差異,舊版基準資料不應直接用於評估新版引擎效能。

原始來源:WebKit Blog — JetStream 3


Safari Technology Preview 244:Shared Worker 內建立 Worker、錨點定位新語法、XHR 重導向修正

WebKit Blog · 2026-05-21

Safari Technology Preview 244 於 2026 年 5 月 21 日釋出,支援 macOS Tahoe 與 macOS Sequoia。最值得注意的新增是允許在 Shared Worker 內部建立 Dedicated Worker,補齊 HTML Standard 已定義但 WebKit 尚未實作的能力。

核心改動

CSS Anchor Positioning 在此版本新增 position-anchor 屬性的 normalnone 值支援,以及 transform-aware 的錨點計算。這讓套用 transform 的元素在使用 @position-try 規則時仍能正確計算錨點座標,修正了過去座標偏移的問題。

Web Extensions API 新增使用者手勢的跨訊息傳播:Extension 透過 messaging API 或 execute API 觸發的動作現在可繼承手勢狀態,解決了原本需要繁瑣 workaround 才能觸發媒體播放等需要手勢的操作。

重要修正

  • XMLHttpRequest 在遇到重新導向時不再錯誤丟棄請求 body(影響所有依賴 XHR 的 CORS 場景)
  • FileSystemDirectoryHandle 路徑解析修正,影響 File System Access API 應用
  • 跨來源隔離(cross-origin isolation)對 Worker 的強制執行修正,影響 SharedArrayBuffer 安全使用
  • :has() 選擇器在深度巢狀 context 下的失效效能改善

原始來源:WebKit Blog — STP 244


End of article
0
Would love your thoughts, please comment.x
()
x