苹果周一发布了macOS Monterey 12.3和iOS 15.4,这两个版本都包括 Safari 网络浏览器的最新更新,版本 15.4。除了两种操作系统的常规变更日志外,Apple 还发布了一篇博客文章,揭示了最新 WebKit 引擎更新中的所有更改,该更新为所有平台上的 Safari 提供支持。
Safari 15.4 增加了对
元素和 ::backdrop 伪元素的支持,它们也包含在最近的Firefox 98 更新中。这些功能使网站更容易创建适合页面设计的对话框/弹出框,使用更少的自定义 JavaScript 和 HTML 代码。现在支持 Web 开发人员的其他 CSS 功能,包括新的 :has() 伪类、级联层、CSS 包含、新的视口单元和更多 calc() 数学函数。这些新增功能将使 Web 开发更容易,更重要的是,有助于 Safari 赶上基于 Chrome 和 Chromium 的浏览器(这反过来意味着使用 Safari 的人会减少损坏的网站)。
XDA-开发者今日视频
Safari 更新也有一些新的 Web API。现在支持 BroadcastChannel,因此来自同一来源的选项卡、窗口、框架和 Service Worker 都可以相互通信——这对于跨多个选项卡和窗口运行的 Web 应用程序来说是一个有用的功能。文件系统访问 API 提供了新功能,允许 Web 应用程序访问本地文件和文件夹(有权限),并且添加了 Web Locks API。
苹果并没有强迫 Manifest V3 进行有争议的更改
Apple 去年增加了对 WebExtensions API(本质上是 Chrome 扩展 API 的克隆)的支持,并且 Safari 15.4 进行了一些改进以使其与 Chrome 的变化保持一致。谷歌去年推出了更新的 Manifest V3 API,随着 Chrome 88 的发布,Safari 现在支持新标准中的所有内容(例如后台页面的 Service Worker 和新的动态/会话规则)。但是,Apple 并没有强制对 Manifest V3 进行有争议的更改,这是针对网络请求的 API 更改,限制了某些内容/广告拦截扩展的能力。Apple 可能会决定在未来效仿 Google,但目前,新旧网络请求 API 都将得到支持。