Safari Technology Preview 20 发布说明

Safari Technology Preview Release 20 现已可供下载,适用于 macOS Sierra。如果您已安装 Safari Technology Preview,可以从 Mac App Store 的“更新”标签页进行更新。本次发布涵盖 WebKit 修订版本 209238-209803

视觉视口 (Visual Viewport)

  • 为如何在捏合缩放和放大时定位 position: fixedposition: sticky 元素启用了新的“视觉视口”模型 (r209409)

触控栏 (Touch Bar)

  • 阻止了在触控栏中为密码输入显示表情符号按钮 (r209626)

JavaScript

  • 启用了共享数组缓冲区 (Shared Array Buffers) (r209568)
  • 在不允许出现 async 箭头函数的上下文中,当 async 后面跟着 identifier 时,添加了一个语法错误来报告意外的 token (r209350)

Web API

  • 添加了 Document.onvisibilitychange 事件处理程序属性 (r209750)
  • 向 HTML Link 元素添加了反射的 nonce 属性 (r209644)
  • 添加了对已弃用的 DOMPointReadOnlyDOMPoint 字典构造函数的支持 (r209677)
  • 修复了使用 innerHTML 创建时,来自不同文档的自定义元素未被自定义的问题 (r209610)
  • 修复了动画后跟过渡时,并非总能触发 transitionend 事件的问题 (r209675)
  • 阻止 document.webkitFullscreenElementdocument.webkitCurrentFullScreenElement 暴露影子树内的节点 (r209628)

安全

  • 更改为要求非标准 CORS 安全列表请求头 AcceptAccept-LanguageContent-Language 进行预检 (r209261, r209510)
  • 实现了严格的混合内容检查;block-all-mixed-content 指令 (r209577)
  • 内容安全策略 (Content Security Policy):教会预加载扫描器如何预加载带有 nonce 属性的 <script><link> (r209759)
  • 内容安全策略 (Content Security Policy):允许 ws:wss:connect-src *default-src * 一起使用 (r209789)

CSS

  • 启用了对现代 CSS 解析器的支持,该解析器从 Blink 移植而来,提高了性能、规范符合性以及与其他浏览器的兼容性,同时还添加了对所有 CSS 数字中科学计数法的支持 (r209396)
  • 修复了带有 columns 属性的元素中的短列问题 (r209719)
  • 修复了在滚动吸附容器末尾无惯性滚动的问题 (r209477)
  • 修复了 flexbox 布局中的行选择问题 (r209427)
  • 修复了 `:host` 上的 `::after` 和 `::before` 问题 (r209535)
  • 修复了在影子树的样式中定义关键帧时无法工作的问题 (r209352)

指针锁定 (Pointer Lock)

  • 阻止 document.pointerLockElement 暴露影子树内的节点 (r209648)
  • 更改为当页面进入页面缓存时退出指针锁定 (r209525)
  • 使用 ESC 键退出指针锁定时使光标可见 (r209394, r209464)
  • 更改为在实验性功能菜单中禁用时隐藏指针锁定 API (r209364)
  • 更改为在显示 JavaScript 警报时退出指针锁定 (r209555)
  • 更改行为为在按下 ESC 键时同时退出全屏和指针锁定 (r209504)

Web Inspector

  • 添加了区分脚本是否被解析为模块的能力 (r209492)
  • 更改堆快照数据网格以允许键盘导航 (r209709)
  • 修复了断言失败断点以遵循全局断点启用设置的问题 (r209311)
  • 在断点日志操作中添加了对模板文字的支持 (r209706)
  • 修复了通过 Fetch API 获取的某些资源没有数据的问题 (r209629)
  • 修复了一个允许从 worker 脚本中删除断点的错误 (r209557)
  • 更新了 Esprima,以支持 ** 运算符、asyncawait 和尾随逗号的新语法 (r209491)

WebCrypto API

  • SubtleCrypto.importKeySubtleCrypto.exportKey 添加了对 SPKI 格式的支持 (r209437)
  • 在执行 SubtleCrypto.importKeySubtleCrypto.exportKey 时添加了对 PKCS8 格式的支持 (r209633)
  • 更改为允许为 RSA 算法导入不含用途的密钥 (r209657)

错误修复

  • 修复了切换标签页时可能导致 YouTube 暂停的问题 (r209425)
  • 修复了在 Safari 的智能搜索字段中输入某些查询会导致 Safari Technology Preview 崩溃的问题
  • 修复了在后台标签页中加载的页面在完成加载时错误地出现在最前面标签页的问题