内容提要
Safari Technology Preview 255 发布,包含多项 WebKit 修复:CSS 修复字体、网格、line-clamp 及浮动布局问题;JavaScript 修复 await 语法与数组字面量求值等;SVG 新增 textPath 的 side 属性并启用内联布局引擎;Web API 新增跨源隔离权限策略及流传输至 AudioWorklet;Web Inspector 新增关键帧动画编辑器、堆栈跟踪弹窗和求值预览。
延伸解读
CSS 修复聚焦布局与 line-clamp 稳定性
本次更新中 CSS 修复数量最多,尤其集中在 line-clamp 的边界行为:浮动元素、兄弟块、固定高度容器等场景下的截断与省略号位置得到修正。此外,网格布局的固有尺寸计算、百分比行高解析、box-sizing 对容器尺寸的影响等也有修复。对依赖多行截断或复杂网格的页面,这些改动可能减少渲染偏差,但需注意 line-clamp 相关行为仍在持续调整。
JavaScript 引擎修正 await 与求值顺序
JavaScript 部分修复了 await 作为标识符的语法判定问题,以及一元加号改变二元表达式求值顺序、常量数组字面量元素被重复求值等缺陷。这些修复涉及语言语义的边界情况,普通业务代码通常不受影响,但对依赖特定求值顺序或动态生成代码的场景,行为可能更符合规范。开发者可关注涉及 await 的嵌套函数与 catch 参数写法。
Web API 与安全策略的渐进增强
新增跨源隔离 Permissions Policy 特性,并支持将流传输至 AudioWorklet,为需要跨源隔离或实时音频处理的 Web 应用提供更多能力。同时修复了 Cross-Origin-Embedder-Policy 在非安全上下文被忽略、FileSystemHandle 在非安全上下文反序列化等问题,安全边界进一步收紧。使用相关 API 的站点应确认自身运行在安全上下文中。
Web Inspector 增强动画与调试体验
Web Inspector 新增关键帧动画编辑器、堆栈跟踪弹窗和求值预览,并加入 WGSL 语法高亮与 WebGPU 标签更新监测。这些工具改进有助于调试 CSS 动画和 GPU 相关代码。此外还修复了控制台 await 支持、样式面板对 @layer 中 !important 声明的计算、以及源码映射定位错误等问题,日常调试的准确性有所提升。
Q&A
Safari Technology Preview 255 支持哪些 macOS 版本?
Safari Technology Preview 255 支持 macOS Golden Gate 和 macOS Tahoe。
Safari Technology Preview 255 在 CSS 方面修复了哪些主要问题?
修复了 font-family: initial 行为错误、box-sizing: content-box 被忽略、line-clamp 相关多个问题(如容器建立独立格式化上下文、省略号位置、浮动影响等)、网格布局的固有尺寸计算和百分比解析、以及浮动布局和形状外边距等问题。
这个版本对 JavaScript 的 await 语法做了哪些修复?
修复了 catch 参数命名为 await 时在 await 不是标识符的上下文中被拒绝为语法错误的问题;修复了在 async 函数参数中嵌套的非 async 函数里 await 应被视为标识符的问题。
Safari Technology Preview 255 为 SVG 带来了哪些新特性?
新增了对 SVG <textPath> 元素 side 属性的支持,并启用了 SVG 文本的内联布局引擎。
Web Inspector 在这个版本中新增了哪些功能?
新增了 CSS 关键帧动画编辑器、堆栈跟踪弹窗、控制台求值预览、基本 WGSL 语法高亮,以及 WebGPU 设备与管线标签更新的图形插桩。
Web API 方面有哪些新增支持?
新增了对跨源隔离权限策略(cross-origin-isolated Permissions Policy)的支持,以及支持将流传输到 AudioWorklet。