Safari 16.3 中的 WebKit 功能

今天,我们很高兴发布 Safari 16.3,这是今年即将推出的众多版本中的第一个。WebKit 在此版本中提供了多项错误修复和功能改进。

CSS

  • 修复了 MediaQueryList.matches,使其能够更新依赖于视口媒体查询的父文档布局。
  • 修复了 CSS aspect-ratio 的最小和最大尺寸传输,使其受限于定义的尺寸。
  • 修复了 gap,通过使用未钳制的子网格轨道尺寸计算轨道位置来考虑其影响。
  • 修复了块大小计算,使其使用正确的 `box-sizing`。
  • 修复了传输的 `min` 和 `max` 尺寸,使其受限于定义的尺寸。
  • 修复:在计算弹性布局尺寸时使用被替换元素的固有比例。
  • 修复了在使用 `box-sizing: border-box` 并带有边框和内边距时出现负内容尺寸的问题。
  • 修复了在带有溢出的固定元素上设置 `scrollTop` 会导致 `overscroll-behavior: none` 页面上的滚动中断的问题。

渲染

  • 修复了具有纵横比和单维尺寸的被替换元素,使其尊重相反维度中的最小和最大约束。

Web API

  • 修复了通过 fetch() 下载并设置了 Content-Encoding: gzip 的内容解压缩问题。
  • 修复了使用预加载的 service worker 提供的下载问题。
  • 修复:当链接预加载同步失败时,添加了一个错误事件。
  • 修复了跨域嵌入者策略(Cross-Origin-Embedder-Policy)错误地阻止脚本的问题。
  • 修复了当请求头改变时,用于后续 301 重定向的 Authorization 头问题。
  • 修复了当目标是带有焦点委托的 shadow host 时显示 dialog 元素的问题。

内容安全策略

  • 增加了对 prefetch-src 指令的支持。
  • 修复:检查 script-srcdefault-src 指令中的 strict-dynamic
  • 修复:当内容安全策略(Content Security Policy)阻止内联样式表时,添加了一个错误事件。

媒体

  • 修复了从扬声器切换到耳机时网络音频变得失真的问题。
  • 修复了当应用 aspectRatio 约束时,第二个 MediaStream 中视频轨道的尺寸设置问题。
  • 修复了显示 Media Session API 艺术作品的问题。
  • 修复了选择蓝牙耳机作为音频输入设备时,“A MediaStreamTrack ended due to a capture failure”错误。
  • 修复了 WebVTT 样式在带内轨道上应用的问题。
  • 修复了备用 VPx 编解码器名称,以支持 vp8.0vp9.0

SVG

  • 修复了 SVG 中外部对象上的 MouseClick offsetXoffsetY,使其相对于元素而非 SVG 容器。

反馈

我们很高兴收到您的来信。发送推文至 @webkit 分享您对 Safari 16.3 的看法。您也可以在 Mastodon 上找到我们:@jensimmons@front-end.social@jondavis@mastodon.social。如果您遇到任何问题,欢迎您就 Safari 用户界面提供反馈,或就网页技术或 Web Inspector 提交 WebKit 错误报告。提交问题确实有所帮助。

下载最新的 Safari 技术预览版,以前沿姿态掌握网页平台并使用最新的 Web Inspector 功能。您也可以阅读 Safari 16.3 发布说明

更新到 Safari 16.3

Safari 16.3 适用于 macOS Ventura、macOS Monterey、macOS Big Sur、iPadOS 16iOS 16。您可以通过前往“系统偏好设置”→“软件更新”→“更多信息”,然后选择更新 Safari,在 macOS Monterey 或 macOS Big Sur 上更新到 Safari 16.3。要更新 macOS Ventura、iOS 或 iPadOS,请前往“设置”→“通用”→“软件更新”。