javascript - 使用 Shadow DOM 有什么缺点?

标签 javascript html shadow-dom

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

最佳答案

Shadow DOM 功能既可以看作优点也可以看作缺点:

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

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

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

例子:

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

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

示例:

结论

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

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

关于javascript - 使用 Shadow DOM 有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45917672/

相关文章:

javascript - 有没有办法检测我是否将鼠标悬停在文本上?

javascript - Shadow dom 中 <table> 子元素的使用

Javascript 3 种方式切换

javascript - 自定义元素v1中constructor和connectedCallback的区别

css - Polymer:样式化特定的核心子菜单图标

javascript - 如果 JSON 数组是一个对象,为什么它会列在原语中?

javascript - 数组属性在JS对象中是如何工作的

asp.net - 防止意外双击按钮

css - 一页上的多个 HTML 表格和文本

javascript - 选中/取消选中 AMP 上未正确更新的 radio 输入字段