<div class="jest">
#shadow-root(closed)
<br>
<input type="text">
</div>
我如何检测到这个笑话类中有一个封闭的影子根。 尝试使用 .shadowRoot/ getRootNode,它返回 null。 有人可以帮忙吗。
没有办法。
但是可以通过浏览器扩展进行检查。
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
}