Safari 技术预览版 142 发布说明

Safari 技术预览版 142 现已可供下载,适用于 macOS Big Sur 和 macOS Monterey。如果您已安装 Safari 技术预览版,可在 macOS 的“系统偏好设置”中的“软件更新”面板中进行更新。

此版本涵盖 WebKit 修订版本 289213-290223

注意:本版本中,标签页组不会同步。

网页检查器

  • 元素选项卡
  • 源选项卡
    • 修复了点击重新启用断点会清除自动继续的问题 (r289669)
    • 修复了双击断点图标以显示编辑弹窗的问题 (r289670)

CSS 子网格

  • 默认启用子网格 (r290111)
  • 调整大小时,新增对子网格外边距、边框和内边距的考量 (r290096)
  • 新增支持在 grid-template-columnsgrid-template-row 中解析子网格 (r289722)
  • 更改为将轨道大小从父网格复制到子网格中 (r290007)
  • 更改为从父网格继承子网格轴的轨道计数,并将项目放置钳制到该显式网格 (r289986)
  • 在外部网格的轨道大小调整算法中包含子网格项目 (r290077)
  • 为子网格实现了 getComputedStyle (r289993)
  • 修复了网格可能为空的某些场景 (r289437)
  • 修复了更新网格间距值时重新计算样式的问题 (r289241)

CSS 容器查询

  • 默认启用 CSS 容器查询 (r290025)
  • 新增查询容器跟踪,以便在大小更改时使其失效 (r289457)
  • 新增支持所有大小特性 (r289838)
  • 新增支持在大小查询中使用完整范围表示法 (r290037)
  • 新增支持在大小查询中使用范围运算符 (r289789)
  • 更改为将不支持轴上的大小查询评估为未知 (r289890)
  • 实现了容器名称匹配 (r289617)
  • 实现了完整的查询解析器和评估器 (r289742)
  • 实现了行内尺寸包含 (inline-size containment) (r289466)
  • 实现了容器简写序列化 (r289886)
  • 在未渲染的子树中正确匹配容器查询 (r290205)

CSS

  • 默认启用 CSS 运动路径 (r290071)
  • 默认启用 overscroll-behavior (r289683)
  • 更改为不将 transform: perspective(0) 视为恒等操作 (r289903)
  • 更改为当没有遮罩图像时,返回 none 作为遮罩的计算样式 (r289377)
  • 修复了点击单选框或复选框标签时 :focus-visible 的问题 (r289521)
  • 修复了全屏模式下 contain: content 的问题 (r289686)
  • 修复了切换 contain 时绝对定位布局不正确的问题 (r289527)
  • 更新了转换为较小色域的颜色空间以执行色域映射的功能 (r289396)
  • 更新了同时具有 -webkit-user-select: all-webkit-user-drag: element 的元素,使其在仅使用 -webkit-user-drag: element 时也能获取快照 (r289544)

Web 动画

  • 启用 KeyframeEffect.composite 属性 (r290067)
  • 新增对 transform 属性的 composite 累积支持 (r289599)
  • 新增支持在 JS 源动画中使用逻辑属性 (r289216)
  • 使具有不同但兼容的 frameRate 值的动画对齐 (r290121)
  • 允许将 frameRate 作为选项传递给 Element.animate() 进行设置 (r290123)
  • 允许将 frameRate 作为选项传递给 document.timeline.animate() 进行设置 (r290125)
  • 更改为正确处理不可逆矩阵的插值 (r289862)
  • 更改为在动画解析和调度期间使用动画 frameRate (r290003)
  • 更改 Animation.commitStyles() 以使用非动画样式 (r289453)
  • 修复了累加插值和累积插值在隐式 0% 和 100% 关键帧下无法正确工作的问题 (r289454)
  • 修复了从 scale()scale() translate() 的动画问题 (r289732)
  • 修复了累加动画阻止其他动画加速运行的问题 (r289605)
  • 修复了更改 directionwriting-mode 时重新计算关键帧的问题 (r289426)
  • 修复了更改 directionwriting-mode 时清除计算关键帧的问题 (r289226)
  • 修复了与自定义效果相关的动画出现在 document.getAnimations() 结果中的问题 (r290122)
  • 实现了对 offset 简写的解析和动画支持 (r289876)

渲染

  • 修复了制表符和 ch 单位无法正确遵循合成粗体宽度调整的问题 (r289609)

表单

  • 更改为当无效的浮点数以“.”结尾时,输入元素返回空字符串 (r290124)
  • 修复了选择方法返回值以匹配规范的问题 (r289813)
  • 修复了在“增加对比度”模式下,浅色外观文本字段渲染不可见的问题 (r290054)
  • 修复了点击 <input type="image"> 会以 null 提交者提交表单的问题 (r289615)
  • 改进了 applyStep() 以匹配规范 (r289465)

JavaScript

  • 默认启用 Shadow Realms 支持 (r290119)
  • 在标志 __XPC_JSC_useTemporal=1 后实现了 Temporal.PlainDate (r290209)
  • 优化了 JSString 的原子化 (r289359)

共享工作线程

  • 新增支持共享共享工作线程(包括跨 WebProcesses)(r289247)
  • 更改为在用非同源 URL 构造 SharedWorker 时同步失败 (r289532)
  • 修复了 Shared Workers 在重定向情况下 self.location.href 的问题 (r289483)

工作线程

  • 更改为始终将工作线程脚本解码为 UTF-8 (r289489)
  • 修复了 WorkerGlobalScope.importScripts() 以保护传入的 blob URL 直到导入完成的问题 (r289236)
  • 修复了经典工作线程脚本获取的 MIME 类型检查问题 (r289672)
  • 修复了将工作线程初始化为模块时正确报告异常的问题 (r289479)

对话框元素

  • 修复了对话框元素只动画一次的问题 (r289498)
  • <dialog> 元素公开了正确的角色、子角色和角色描述属性 (r289713)

Web API

  • 新增支持 ScreenCaptureKit API 的两个版本 (r289547)
  • 更改为在可用时使用系统窗口和屏幕选择器 (r289696, r289701)
  • 修复了在页面进入页面缓存时,fetch promise 的结算会被延迟的问题 (r289533)
  • 优化了 DOM 存储事件分派 (r290223)

实验性模型元素

  • 改进了 macOS 上的大小调整 (r289495)
  • 使独立模型文档具有交互性 (r289666)

Web 扩展

  • 新增支持 browser.action.openPopup()browser.browserAction.openPopup() API 以打开特定窗口的扩展弹窗(这是一项 WECG 提案
  • 新增支持 manifest_version 3 扩展中的 optional_host_permissions 清单键(这是一项 WECG 提案
  • 新增支持 browser.runtime.getFrameId(),以便更轻松地从内容脚本获取帧标识符(这是一项 WECG 提案
  • 新增支持可传递给 browser.tabs.sendMessage()frameId 选项
  • 修复了 webNavigationwebRequest 事件中 parentFrameId 返回的数字,使其在主帧时为 -1
  • 修复了 devtools.panels.onShown,以便将面板的窗口对象发送给监听器
  • 修复了 devtools.panels.onShown,以防止其在每次活动面板更改时多次触发
  • 使 devtools API 命名空间仅暴露给 devtools 后台页面