我使用 DOM 动态地将脚本添加到页面。
如果我添加脚本文本(例如script.text = "...";),它会立即运行。
但是,如果我添加外部脚本(例如script.src = "...";),它将在我的脚本完成后运行。
所以在下面的例子中我会得到
“0 1 2”
和
“3 3 3”
分别。
( 1.js 包含相同的字符串 - "document.body.innerHTML += i")
<body>
<script>
for (i = 0; i < 3; i++) {
var script = document.createElement('script');
script.src = "1.js";
// script.text = "document.body.innerHTML += i";
document.body.append(script);
};
</script>
</body>
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它会这样工作,以及如何在添加后立即运行 1.js?