Apple浏览器Safari 15.4也开始支持元素和Cascade Layers

在Apple近日所更新的iPadOS 15.4、iOS 15.4和macOS Monterey 12.3等操作系统,其内置浏览器Safari 15.4,所使用的搭建网页排版引擎WebKit新版本,加入不少重要更新,范围包括HTML、CSS、Web API、隐私和安全性等,官方提到,这是WebKit在2022年的第一个大型版本,接下来还会有更多重要更新到来。

WebKit也增加了对Cascade Layers的支持,这是一种将样式组织到图层中的方法,能够让开发者明确控制CSS文件,避免样式冲突,对于大型程序代码库、设计系统,或是在应用程序中管理第三方样式时特别好用。

2022年CSS添加了数项功能,让网页开发者更容易地重用程序代码、创建设计系统,并且集成复杂的应用程序。在Safari 15.4中的WebKit,添加了对:has虚拟类别的支持,而该选择器满足了开发人员一直以来,对父级元素选择器的需求,官方提到,虽然过去普遍认为这样的选择器不可行,但是WebKit开发团队找到了一个能够高度优化性能,在不减慢页面速度的情况下,提供灵活解决方案的方法。

新版WebKit也解决了CSS长期以来存在的痛点,官方提到,开发人员常希望能够拥有类似既有可视区域(Viewport)单元的工具,但又能够在用户滚动页面,而浏览器可视区域尺寸发生变化时正确运行。而WebKit现在提供更好的可视区域单元,像是100svh代表最小可视区域高度的100%,而100lvh则代表最大可视区域高度的100%。

其他的可视区域单位像是用于宽度的svw、lvw和dvw,以及支持逻辑维度的vi和vb等,WebKit官方提到,他们率先发布这些新单元,并且通过Interop 2022希望其他浏览器跟进。

Safari 15.4中的WebKit有许多Web API升级,可供开发人员提供更好的用户体验。对BroadcastChannel的支持,使得来自同一来源的标签、窗口、iframe和Worker,可以相互传递消息,该功能可以实现跨多个标签,在同一个网站同步登录状态的体验。WebKit还支持另一个新机制Web Locks API,能够用于管理资源访问,对同一来源的标签、窗口、iframe和Worker,进行异步锁定控制。

另外,开发人员现在还可以在Safari 15.4中,使用CSS卷动行为属性,或是JavaScript的卷动方法,控制元素的卷动行为。而这个功能可以让开发人员决定,要将可视区域跳转到特定位置,或是产生平滑卷动的操作动画。WebKit的WebRTC协商API,现在完全符合WebRTC 1.0规范,因此可以正确支持WebRTC协商功能,以解决两个远程端点,在协商阶段可能发生的潜在同步问题。

在隐私和安全性功能上,WebKit更新隐私广告关注功能Private Click Measurement(PCM),加入转换欺诈预防机制。WebKit也加入内容安全策略第3版的支持,强化对内容加载的安全控制,并协助网页开发人员降低跨站脚本和其他漏洞攻击的风险。