2017-08-28 65 views
2

在教程中我只看到了Shadow DOM的好处,但也应该有缺点。我们应该避免使用Shadow DOM?使用Shadow DOM的缺点是什么?

+0

好吧,如果您的目标浏览器是铬合金,我没有看到真正的缺点。铬是动机,以支持它完全因为聚合物:) – Kejt

+1

好处可能成为弊端,取决于你的观点 – Supersharp

+0

@Supersharp好吧,在这种情况下,我应该避免使用阴影DOM(兼容性问题除外) – ganqqwerty

回答

2

影子DOM的功能可以被看作是缺点一样多的好处:

风格隔离一个好处,如果你想要,但如果用户想要从全局CSS样式阴影DOM组件的缺点样式表。

DOM Shadowing在某些情况下是有益的,但是如果外部脚本/库或扩展需要解析或选择内容,则会带来一些缺点。

有很多第三方库(或扩展)不能用于Shadow DOM内容,因为它们不是用来处理它,或者需要一些额外的配置才能使用Shadow DOM。

例子:

同样,解析HTML将在影子DOM边界被封锁的扩展:一个好处,如果你不想如果您认为这些服务是一项有用的服务,那么这是一个缺点。

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

例子:

结论

  • 只有当你想CSS样式或DOM隔离使用阴影DOM。

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