请问JavaScript是不是有限制:在动态加载的脚本中不可以再动态加载另一个脚本了?也就是说不可以连环动态加载?

主脚本文件:a.js

var script = document.createElement("script");

script.onload = function() {
    alert("加载 脚本b 成功!"); //这里可以看到弹出成功提示。
}

script.src = "b.js";
document.getElementsByTagName("head")[0].appendChild(script);

子脚本文件:b.js

var script = document.createElement("script");

script.onload = function() {
    alert("加载 脚本c 成功!"); //这里永远都看不到弹出成功加载的提示!
}

script.src = "c.js";
document.getElementsByTagName("head")[0].appendChild(script);

在 a.js 中动态加载 b.js 脚本,是可以触发加载成功的事件的(说明加载成功);
在 b.js 中再动态加载另一个脚本,就不会触发加载成功的事件了(说明没有加载成功)。
这是为什么呢?

阅读 1.8k
评论
    4 个回答
    • 460

    b.js 里的 变量名 script 换成 script_b 试试