繁体   English   中英

使用 Shadow DOM 的缺点是什么?

[英]What are the drawbacks of using Shadow DOM?

在教程中,我只看到了 Shadow DOM 的好处,但也应该有缺点。 在哪些情况下我们应该避免使用 Shadow DOM?

Shadow DOM 特性既可以被视为优点,也可以被视为缺点:

如果您愿意,样式隔离是一个好处,但如果用户想要使用全局 CSS 样式表中的 Shadow DOM 设置组件样式,则它是一个缺点。

DOM 阴影在某些情况下是一个好处,但如果外部脚本/库或扩展需要解析或选择内容,则它是一个缺点。

有许多 3rd 方库(或扩展)不能处理 Shadow DOM 内容,因为它们不是为处理它而设计的,或者需要一些额外的配置来处理 Shadow DOM。

例子:

此外,解析 HTML 的扩展程序将在 Shadow DOM 边界被阻止:如果您不想窥探,这是一个好处,如果您将它们视为有用的服务,则是一个缺点。

事件传播在 Shadow DOM 内部和外部是不同的。 因此,您在处理 UI 事件时可能会遇到一些困难。

示例:

结论

  • 仅当您需要 CSS 样式或 DOM 隔离时才使用 Shadow DOM。

  • 如果您需要与一些不兼容的第三方组件或库进行交互,请不要使用 Shadow DOM。

嗯嗯,这个技术的规范还没有稳定下来,很多浏览器都不支持。 我称之为缺点。

请参阅: https : //developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow

现在我想说; 在大多数情况下避免使用,除非您想尝试新的东西并且它不适用于生产环境。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM