前端前線 2026 年 6 月 9 日

2026-06-09 — WWDC26 Safari 27 beta WebKit JSPI、Import Defer、CSS Anchor 全面升級

primary=https://webkit.org/blog/17967/news-from-wwdc26-webkit-in-safari-27-beta/ primary=https://webkit.org/blog/17970/release-notes-for-safari-technology-preview-245/

WWDC26 發表 Safari 27 beta:WebKit 引入 JSPI、Import Defer 與 CSS Anchor 全面升級

WebKit Blog · 2026-06-09

Apple 在 WWDC26 同步發布 Safari 27 beta,WebKit 引擎帶來一批早在 Safari Technology Preview 中試驗多時的功能,其中包括 WebAssembly JavaScript Promise Integration(JSPI)、完全重寫的 ESM 頂層 Await 載入器,以及 CSS 錨點定位的重大修正。本次發布涵蓋超過 525 項 bug fix,定位為品質優先。

JavaScript 與模組載入

Top-Level Await 的 ESM 載入器以 C++ 完整重寫,修正了模組執行順序與初始化錯誤;此前 Safari 在複雜模組依賴圖下有時會出現執行順序不一致的問題。Static import defer 語意正式納入 STP 245,允許模組在評估時機上延遲到第一次存取再執行,減少主線程阻塞。

WebAssembly JSPI 使原本以同步方式撰寫的 Wasm 程式碼可以掛起並等待 JavaScript Promise,對 Emscripten 編譯的 C/C++ 程式庫尤為重要,讓它們能在瀏覽器事件循環內正確執行非同步操作而不需要線程。

CSS:Anchor Positioning 修正與新增關鍵字

CSS Anchor Positioning 在本版修正了 Transform-Aware 定位:被定位元素現在會跟隨錨點的實際 transform 後位置,而非 pre-transform 的版面位置。新增 revert-rule 關鍵字,可精確地將 cascade 回滾到當前規則套用前的狀態,比 revert 更細粒度。

  • :heading 偽類別:等同 h1, h2, h3, h4, h5, h6 的選擇器簡寫
  • stretch box-sizing 關鍵字:取代 -webkit-fill-available,填滿可用空間並考量 margin
  • contain: style 支援 CSS quotes,將引號效果限制在子樹內
  • srgb-lineardisplay-p3-linear 色彩空間加入 Canvas/WebGL 預定義色彩

Web API 擴充

Service Worker Static Routing API 允許宣告式路由規則,讓特定請求完全繞過 service worker,減少不必要的 worker 啟動開銷。ReadableStream 新增 for await...of 非同步迭代、ReadableStream.from() 靜態方法,以及跨上下文轉移能力。Cookie Store API 現在支援 maxAge 參數。

<img sizes="auto"> 告知瀏覽器依據元素實際版面寬度自動計算尺寸,避免 srcset 選圖錯誤。shadowrootslotassignment 屬性可在宣告式 Shadow DOM 中設定 namedmanual slot 分配模式。

visionOS Spatial Web

新的 <model> 元素與 JavaScript API 允許在 visionOS 上建立沉浸式網站環境;同一元素也在 iOS、iPadOS、macOS 上啟用互動式 3D 內容嵌入。dynamic-range-limit CSS 屬性控制 3D 內容的 HDR 渲染範圍。

Safari Technology Preview 245 新增功能

同日發布的 STP 245 包含 CSS 屬性選擇器 s 修飾符(區分大小寫)、:host:has() 複合選擇器支援,以及 :has() 作用域選擇器效能最佳化,減少樣式失效時的遍歷範圍。MathML 運算子字典項目對齊 MathML Core 規格;動態插入 <img> 的嚴重效能退化已修正。

原始來源:WebKit Blog — News from WWDC26Safari Technology Preview 245 Release Notes


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