如何识别一个元素中有一个封闭的shadow Root?

问题描述 投票:0回答:1
<div class="jest">
  #shadow-root(closed)
  <br>
  <input type="text">
</div>

我如何检测到这个笑话类中有一个封闭的影子根。 尝试使用 .shadowRoot/ getRootNode,它返回 null。 有人可以帮忙吗。

javascript dom
1个回答
0
投票

没有办法。

但是可以通过浏览器扩展进行检查。

let shadowRoot = browser.dom.openOrClosedShadowRoot(
  element,    // HTMLElement
)

在这两种情况下它都会返回shadowRoot对象实例。

另一种方法是修补原始方法并将阴影元素存储在集合中。

const shadowedElements = new Set();
Element.prototype.attachShadow = (...args) => {
    shadowedElements.add(this)
    return original.apply(this, args)
}

if (shadowedElements.has(el)) {
  // caught
}
© www.soinside.com 2019 - 2024. All rights reserved.