我正在阅读这个问题,接受的答案是:这里
我可以看到为
此外,如果我删除第一个空的
但是当我尝试更改以下代码中第一个通过设置元素的innerHTML属性添加的脚本不会被执行。
<script>
标签的innerHTML时:<script></script>
<script>
document.querySelectorAll("script")[0].innerHTML = 'console.log("Test")';
</script>
我可以看到为
<script>
元素注入的代码被执行了(console.log()
函数输出Test)。此外,如果我删除第一个空的
<script>
标签(使得第一个元素[0]
指向脚本本身),虽然脚本在DOM中已经改变了,但是代码并没有被执行。<script>
document.querySelectorAll("script")[0].innerHTML = 'console.log("Test")';
</script>
是什么促使了这种行为?