IOS Safari 是不是支持 Shadow DOM?

Posted

技术标签:

【中文标题】IOS Safari 是不是支持 Shadow DOM?【英文标题】:Does IOS Safari support Shadow DOM?IOS Safari 是否支持 Shadow DOM? 【发布时间】:2017-09-02 08:38:40 【问题描述】:

我的应用程序能够渲染 Shadow DOM,但检查器无法显示影子根。谁能帮我解决这个问题?

【问题讨论】:

【参考方案1】:

这取决于您指的是哪个 Shadow DOM——Shadow DOM v0 或 Shadow DOM v1。

见http://caniuse.com/#feat=shadowdomv1和http://caniuse.com/#feat=shadowdom

没有任何版本的 Safari 支持 Shadow DOM v0。但就 ios Safari 而言,10.2+ 版本支持 Shadow DOM v1,但有以下限制:

某些 CSS 选择器不起作用 (:host > .local-child) 并且样式化开槽内容 (::slotted) 有问题。

Shadow DOM v0 和 v1 的区别见https://hayato.io/2016/shadowdomv1/


2020 年 7 月 31 日更新:影子根不再隐藏在 Safari Web Inspector 中,而是始终显示,无论如何。见https://trac.webkit.org/changeset/253706/webkit/


在旧版本的 Safari 中,Web Inspector 默认不显示阴影根,需要单击一个按钮才能显示阴影根;它看起来像这样:

在 Inspector UI 中,它位于选项卡下方右侧的工具栏中。激活后变为蓝色:

【讨论】:

Shadow DOM V1 是肯定的。不幸的是,我在检查器中没有看到影子根。我必须打开一些标志吗? 查看我刚刚添加到答案中的图片 这些括号现在不见了。知道他们去了哪里吗? @DmitryMinkovsky 阴影根不再隐藏在当前的 Safari Web Inspector 中——因此不再需要按钮来显示它们,因为它们现在总是显示出来,无论如何。见trac.webkit.org/changeset/253706/webkit。 (我已经更新了答案以反映这种变化。) 是的,不知何故错过了!非常感谢

以上是关于IOS Safari 是不是支持 Shadow DOM?的主要内容,如果未能解决你的问题,请参考以下文章

iOS / 移动 Safari 是不是符合现代浏览器标准?

我的 Web 应用程序是不是仍应支持 iOS 3.2 上的 Safari 4.0.4?

iOS/Mobile Safari 是不是支持 HTML 图像映射中的触摸事件

Chrome/Safari:box-shadow 仅在指定边框时出现在文本输入中

应用 CSS 过滤器时,内联 SVG 在 iOS 和 Safari 中消失

iOS 14 Safari 将支持一键翻译网页