Safari Technology Preview 252 发布说明

Safari Technology Preview 252 发布说明

💡 原文英文,约2000词,阅读约需8分钟。
📝

内容提要

Safari Technology Preview 252 发布,包含多项 WebKit 更新:CSS 新增 user-select 等支持,修复 line-clamp 和网格问题;JavaScript 修复 Promise.try 等;媒体、渲染、SVG、Web API、WebAssembly、WebGL、WebGPU 及 WebRTC 均有改进与修复。

🔎

延伸解读

CSS 新特性与布局修复

本次更新为 CSS 带来多项新特性,包括支持 @supports 中的 named-feature() 函数、无前缀的 user-select 属性、text-decoration-inset 的百分比值等。同时修复了 line-clamp 在行内块中不生效、网格项边距未计入内在尺寸、子网格列忽略父级 justify-content 等问题。这些改进有助于开发者更精确地控制布局和样式,减少浏览器差异带来的调试成本。

JavaScript 与 WebAssembly 改进

JavaScript 方面修复了 Promise.try() 的结果解析、正则表达式反向引用和 s 标志匹配等问题,并改进了 worker.terminate() 对阻塞在 Atomics.wait 的 worker 的终止行为。WebAssembly 新增对 memory64 和多内存的支持,并修复了 CompileError 消息不一致、导入对象身份保持等问题。这些修复提升了语言层面的可靠性和一致性。

媒体与渲染问题修复

媒体部分修复了视频全屏退出异常、从后退缓存恢复后播放失败、音频在关闭标签后继续播放等问题。渲染方面修复了字符重叠、滚动条出现时内容重叠、列表标记绘制顺序错误等。这些修复直接关系到用户观看视频和页面滚动的体验,减少了视觉上的瑕疵和交互中断。

网络与安全增强

网络方面修复了使用 Date.prototype.toString() 格式的 Expires 日期导致 cookie 被存储为会话 cookie 的问题。安全方面修复了子框架中对外部 URL 的导航未被一致阻止的问题。这些改进有助于提升浏览器的安全性和网络行为的正确性,保护用户隐私并防止潜在的安全风险。

Q&A

Safari Technology Preview 252 支持哪些新的 CSS 功能?

新增了对 @supports 条件中 named-feature() 函数的支持、CSSConditionRule.supports、无前缀的 user-select 属性、CSSMediaRule.matches,以及 text-decoration-inset 的百分比值。

Safari Technology Preview 252 修复了哪些 JavaScript 问题?

修复了 worker.terminate() 和页面重载无法终止阻塞在 Atomics.wait 或 WebAssembly atomic.wait 的 worker 的问题;修复了 Promise.try() 使用 PromiseResolve 解析结果,避免额外包装 promise;修复了正则表达式反向引用在读取代理对失败时未恢复输入位置的问题;修复了 Uint8Array.prototype.setFromBase64() 在目标数组长度为零时不应读取或抛出错误;修复了使用 s 标志的正则表达式从字符串开头而非 lastIndex 匹配的问题;修复了后代和动态导入模块脚本请求的 Referer 头;修复了 String.prototype.replace 使用 Unicode 正则表达式在空匹配后拆分代理对的问题。

Safari Technology Preview 252 在媒体方面有哪些改进?

修复了视频在之前全屏播放后立即退出全屏回到内联的问题;修复了与内联媒体控件交互可能关闭网站自定义视频展示的问题;修复了从后退/前进缓存恢复页面后视频因 MEDIA_ERR_ABORTED 失败并从头开始的问题;修复了 ManagedMediaSource 在缓冲范围外寻址时未触发 startstreaming 事件的问题;修复了在音频会话激活待处理时,视频可能比更早请求播放的视频提前播放的问题;修复了寻址到由 MediaSource 支持的 HTMLMediaElement 末尾时触发不必要的 ended 事件的问题;修复了关闭标签页后音频可能继续播放数秒的问题。

Safari Technology Preview 252 为 WebAssembly 带来了哪些新特性?

新增了对 WebAssembly memory64 与多个内存同时使用的支持。

Safari Technology Preview 252 在 SVG 方面有哪些新增支持?

新增了对 text-overflow 作为 SVG 呈现属性的支持,以及对外部 SVG 资源的支持,允许 url() 引用外部文档中的 SVG 资源,如滤镜、遮罩和渐变。

Safari Technology Preview 252 修复了哪些 WebRTC 相关问题?

修复了应用本地描述时未根据先前生成的 offer 或 answer 验证证书指纹的问题;修复了包含查询字符串参数(如 ?transport=tcp)的 TURN 服务器 URL 被拒绝,导致无法收集中继 ICE 候选的问题。

🏷️

标签

➡️

继续阅读