Safari 技术预览 97 发布说明

Safari 技术预览 97 版本现已可供下载,支持 macOS Catalina 和 macOS Mojave。如果您已安装 Safari 技术预览版,可以在 macOS 的“系统偏好设置”的“软件更新”面板中进行更新。

此版本涵盖 WebKit 修订版本 251627-252823

Resize Observer

  • 默认启用 Resize Observer (r251822)

WebAuthn

  • 添加了 UI,其中包含在使用安全密钥进行身份验证时的说明
  • 添加了对旧版 Google NFC Titan 安全密钥的支持 (r252297)

Web 动画

  • 添加了对 AnimationEvent.pseudoElement 的支持 (r251840)
  • 修复了重新定位的过渡效果,这些效果针对加速属性但未停止原始过渡效果的问题 (r252540)
  • 修复了 CSS 过渡效果的缓动属性问题 (r251657)
  • 修复了 CSS 动画的 getKeyframes() 输出中 transform 属性始终为 none 的问题 (r251839)
  • 修复了 getKeyframes() 返回声明式动画的正确时序函数的问题 (r251649)

Web Inspector

  • 元素
    • 添加了对多行 CSS 属性值的支持 (r252523)
    • 添加了对高亮显示匹配带有伪选择器的 CSS 规则的节点的支持 (r252436)
    • 添加了对 P3 色彩空间拾色器的支持 (r252168)
    • 修复了复制多个 DOM 节点时仅复制最后选定的 DOM 节点的问题 (r252615)
    • 修复了 aquafuchsia 未被检测为 CSS 颜色的问题 (r252448)
    • 在 P3 拾色器中勾勒出 sRGB 安全区域 (r252747)
    • 添加了一个上下文菜单项,用于在从本地覆盖加载资源时显示本地覆盖 (r252495)
    • 添加了对基于 URL 模式(除了精确匹配)匹配本地覆盖的支持 (r252614)
    • 改为在显示源代码位置链接时优先选择未列入黑名单的脚本 (r253087)
    • 改为在 DOM 节点从主 DOM 树中移除时(而不仅仅是从其父级中移除时)触发“节点已移除”断点 (r251871)
    • 修复了“切换可见性”上下文菜单项对影子树中的元素不起作用的问题 (r252026)
    • 将 Inspector Bootstrap Script 的默认内容设为解释其工作原理的注释 (r251921)
    • 将“本地覆盖…”创建项从“断点”部分选项菜单移动到“创建资源”菜单 (r252517)
    • 使来自黑盒脚本的调用帧在视觉上有所区别 (r252745)
  • 时间线
    • 添加了一个标记,指示何时请求停止 (r252199)
    • 添加了一个时间线,显示任何已记录的 CSS 动画/过渡的信息 (r251959)
    • 在 JavaScript 和事件时间线中标记了 ResizeObserver 回调 (r251832)
  • 图层
    • 默认启用“图层”选项卡 (r252063)
  • 控制台
    • 打开 Web Inspector 后,如果没有其他内容获得焦点,则默认聚焦控制台提示符 (r251958)
    • 修复了导航后仍显示已保存结果值的问题 (r253000)
  • 设置

渲染

  • 修复了使用 transform: rotate 动画时图像闪烁的问题 (r252486)
  • 为 WebGL 的 ANGLE 后端实现了加速视频到纹理上传路径 (r252741)

往返缓存

  • 添加了站点特定的往返缓存怪癖,以解决 vimeo.com 上的问题 (r252301)
  • 修复了 WebAnimation 永远不会阻止进入往返缓存的问题 (r251742)
  • 修复了 PaymentRequest 和 PaymentResponse 不会阻止进入往返缓存的问题 (r252338)
  • 修复了 UserMediaRequest 不会阻止进入往返缓存的问题 (r251746)
  • 使 MediaStream 和 MediaStreamTrack 兼容往返缓存 (r252337)

SVG

  • 添加了接口 SVGMarkerElement 的 orient 属性 (r252444)
  • 添加了对 fill-opacitystroke-opacitystop-opacityflood-opacity 的百分比支持 (r251696)
  • 更改了接受 <position> 的属性,使其不接受 3 个值 (r251668)
  • 禁用的 SVG 形状不应被命中 (r252069)
  • 修复了 SVGGeometryElement.getPointAtLength 钳制其参数的问题 (r251877)
  • 修复了不透明度始终序列化为数字的问题 (r251828)

剪贴板 API

  • 添加了一些基础设施,用于将 ClipboardItems 解析为剪贴板数据以便写入 (r252315)
  • 添加了对 Clipboard.readText() 的支持 (r252627)

CSS

  • 添加了对 Q 单位的支持 (r251662)
  • 更改了 CSS Transitions 和 CSS Animations 属性,使其将无单位的 0 视为时间的无效值 (r251658)
  • 修复了自动重复且没有行名称后 CSS 网格线名称位置的问题 (r251965)
  • 修复了 -webkit-font-smoothing: none 不对后续元素进行抗锯齿处理的问题 (r252622)
  • 修复了当容器具有 display: contents 时,::before::after 元素未填充其网格单元格的问题 (r251780)
  • 修复了 calc() 序列化以匹配规范的问题 (r253079)
  • 实现了 CSS clamp() 函数 (r253105)

远程播放 API

媒体

  • 将多个 EME 密钥请求批量处理为一个请求和响应 (r251895)

JavaScript

  • 添加了对 ++-- 的 BigInt 支持 (r252680)
  • 修复了 Intl.DateTimeFormat 以正确的顺序返回 resolvedOptions 的问题 (r251815)
  • 优化了 Promise 运行时函数 (r251671)
  • 实现了 String.prototype.replaceAll (r252683)

画中画 Web API

  • 默认启用画中画 API (r251925, r251745, r251797)
  • 添加了对画中画模式下视频元素的 :picture-in-picture CSS 伪类的支持 (r252330)
  • 修复了画中画事件在进入或退出画中画模式时触发的问题 (r252240)

WebAssembly

  • 创建了一个 WebAssembly 解释器 (r251886)
  • 支持 WebAssembly.Global (r253074)

Web API

  • 添加了对 reddit.com 的全屏样式支持 (r251827)
  • 更改了文件输入,使其在 change 事件之前触发 input 事件 (r252768)
  • 更改了隐藏的帧集,使其提供默认的 edgeInfo 值 (r251680)
  • 修复了 <input type="range">.setAttribute("value") 更新值的问题 (r251718)
  • 修复了一些验证码图片显示为空白的问题 (r252353)
  • 修复了带有控制和剪裁的 <video> 内容有时会消失的问题 (r252070)
  • 修复了一个错误,当聚焦一个委托焦点的影子宿主时,将正确跳过委托焦点的内部影子宿主 (r252537)
  • 修复了 getComputedStyle 在非定位元素上设置 zIndex 属性后仍返回 auto 的问题 (r252724)
  • 修复了 Google Docs 表格中由于事件区域绘制导致的非常慢的磁贴渲染问题 (r252419)
  • 修复了没有端口的源无法记住通知权限的问题 (r251709)
  • 修复了 VeryHigh 优先级加载的问题 (r252431)