如何从 shadow DOM (v1) 访问 currentScript
How to access currentScript from shadow DOM (v1)
我想从 shadowDOM 内部访问当前脚本或 shadow root。
并且,最终目的是在同一个 shadowDOM 中获取 div.target
元素。
我尝试使用 document.currentScript
。
然而,它 returns null
。
因此,我无法检测到我所在的 shadowDOM。
有办法吗?
<template id="template">
<div class="target"></div>
<script>
// How to access self script element or above element which has target class?
console.log(document.currentScript)
// null
</script>
</template>
<div class="sr"></div>
<script>
document.querySelector(".sr").attachShadow({mode: "open"}).append(
document.querySelector("#template").content.cloneNode(true)
)
</script>
由于 this post 中指出的安全或实施限制,您不能这样做。
要访问 Shadow DOM,您应该使用 getRootNode()
,如 中所述。
我想从 shadowDOM 内部访问当前脚本或 shadow root。
并且,最终目的是在同一个 shadowDOM 中获取 div.target
元素。
我尝试使用 document.currentScript
。
然而,它 returns null
。
因此,我无法检测到我所在的 shadowDOM。
有办法吗?
<template id="template">
<div class="target"></div>
<script>
// How to access self script element or above element which has target class?
console.log(document.currentScript)
// null
</script>
</template>
<div class="sr"></div>
<script>
document.querySelector(".sr").attachShadow({mode: "open"}).append(
document.querySelector("#template").content.cloneNode(true)
)
</script>
由于 this post 中指出的安全或实施限制,您不能这样做。
要访问 Shadow DOM,您应该使用 getRootNode()
,如