使用Shadow DOM有什么缺点?

时间:2017-08-28 11:14:54

标签: javascript html shadow-dom

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

2 个答案:

答案 0 :(得分:5)

Shadow DOM功能可以被视为缺点:

如果你想要它,

样式隔离是一个好处,但如果用户想要使用全局CSS样式表中的Shadow DOM设置样式,那么这是一个缺点。

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

有许多第三方库(或扩展程序)无法使用Shadow DOM内容,因为它们不是为处理它而设计的,或者需要一些额外的配置才能使用Shadow DOM。

示例:

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

事件传播在Shadow DOM内外不同。所以你可能有一些扩散来处理UI事件。

示例:

<强>结论

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

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

答案 1 :(得分:1)

嗯,啊,这项技术的规范还没有稳定,很多浏览器都不支持。我认为这是一个缺点。

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

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