Safari 技术预览版 17 发布说明

Safari 技术预览版 17 现已在 macOS Sierra 上开放下载。如果您已安装 Safari 技术预览版,可以从 Mac App Store 的“更新”选项卡进行更新。此版本涵盖 WebKit 修订版本 207669–208261

Safari 扩展

  • .safariextz Safari 扩展中移除了 NPAPI 插件支持

自定义元素

  • 默认在所有地方启用自定义元素 (r208201)
  • 更改了自定义元素响应,使每个元素都有一个队列 (r207810)
  • 升级自定义元素时,将 attributeChangedconnected 回调加入队列 (r207710)
  • 自定义元素响应现在已为 HTML API (r208082) 和 CSS OM API (r208176) 加入队列

Web API

  • 实现了 rel=noopener (r207840)
  • 启用了通过 Shadow DOM 子树中的 link 元素加载样式表 (r208403)
  • onpasteondrop 事件中,增加了对来自 event.dataTransfer.getData('text/html')event.clipboardData.getData('text/html') 的 HTML 格式内容的支持 (r207797)

输入事件

  • 添加了支持,在按住键选择重音字符时触发 insertReplacementText 输入事件 (r208143)
  • 实现了 InputEvent.getTargetRanges() (r207670)
  • 实现了对 insertFromDropdeleteByDrag 的支持 (r208014)
  • 实现了对输入事件的 insertFromCompositiondeleteByCompositioninsertCompositionTextdeleteCompositionText 输入类型的支持 (r207698)
  • 实现了对 InputEvent.dataTransfer 的支持 (r207841)

URL 解析器

  • 当 URL 路径中存在 %2E 时,匹配旧 URL 解析器的行为 (r207805)
  • 防止将具有无法识别方案的 URL 主机解释为 IPv4 地址 (r208086)

Fetch API

  • 确保跨域请求的重定向次数不超过 20 次 (r208046)
  • 确保仅在 CSP 策略声明时才升级重定向 (r207752)
  • 更改了 ReadableStream,使其仅克隆第二个分支 (r208039)

JavaScript

  • 修复了带有简洁函数体的箭头函数,使其能够返回正则表达式 (r207798)
  • 修复了 String.prototype.replace() 在使用过多内存时抛出 OutOfMemoryError 的问题 (r207861)
  • 启用了 JSON.stringify 来处理具有数组元素上下文的 ES6 Proxy (r208123)

Web 检查器

  • 在 Web 检查器中添加了对自定义元素的支持 (r208218)
  • 启用了在 Web 检查器中显示 Shadow DOM 作用域样式 (r208199)
  • 添加了一个固定选项卡,用于包含各种文本编辑器偏好设置 (r208091)
  • 修复了包含 Unicode 字符的脚本中断点不工作的问题 (r208097)
  • 修复了“样式”作用域栏项目中箭头对齐问题 (r208190)
  • 修复了 ⌘+ 快捷键无法增加 Web 检查器用户界面大小的问题 (r207850)
  • 修复了“打开资源”对话框在输入 :*n*(其中“n”大于文件行数)时跳转到最后一行的问题 (r208188)
  • 改进了某些异常情况下的调试器高亮显示 (r208260)
  • 改进了快速打开排序算法 (r207782)
  • 改进了 Web Workers 中 console.log 的支持 (r208010)
  • 在控制台中包含了原生 CustomElementRegistry 方法的参数字符串 (r208072)
  • 防止在作用域链中显示空的 Closure 部分 (r207784)

CSS

  • 避免在 getComputedStyle 中对非继承属性进行不必要的完整样式解析 (r207755)
  • 修复了 backdrop-filter 在移除后重新添加时无法正确渲染的问题 (r207722)
  • 修复了对具有 3D 转换的 clip-path 元素动态添加 backdrop-filter 的渲染问题 (r207723)
  • 更改了行为,以便在动画关键帧影响堆叠上下文属性时,在动画运行时创建堆叠上下文 (r208025)
  • 防止在 SVG 遮罩内绘制文本选择 (r207692)
  • 修正了 filter: drop-shadow() 的模糊半径 (r208058)
  • 更改了样式解析器以进行惰性更新 (r207669)

媒体

  • 允许页面上具有 autoplayplaysinline 属性的多个视频同时播放 (r208149)
  • 修复了 WebAudio 在从后台标签页切换到前台标签页时无法恢复的问题 (r208092)
  • 修复了某些视频网站在超出缓冲范围进行跳转时视频播放停滞的问题 (r207694)
  • 在“快速查看”图像弹出窗口中添加了对广色域的支持 (r208020)

网络

  • 更改了预加载行为,以匹配 iOS 上的行为,即图像等资源以较低优先级加载 (r208049)

索引数据库 2.0

  • 支持重命名 IDBObjectStores (r207641) 和 IDBIndexes (r207761)
  • 实现了 IDBTransaction.objectStoreNames() (r207821)
  • 实现了 IDBObjectStore.openKeyCursor() (r207845)
  • 实现了 IDBObjectStore.getAll()IDBObjectStore.getAllKeys() (r208194)
  • 实现了 IDBIndex.getAll()IDBIndex.getAllKeys() (r208261)

错误修复

  • 修复了 JavaScript 对话框(alertconfirmprompt)和 Safari 的外部导航确认提示显示空消息的问题