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

发布于 2022-09-03 12:12:24 字数 607 浏览 28 评论 0

主脚本文件: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 中再动态加载另一个脚本,就不会触发加载成功的事件了(说明没有加载成功)。
这是为什么呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

柳若烟 2022-09-10 12:12:24

并没有,会正常运行

何以畏孤独 2022-09-10 12:12:24

路径对吗(凑字数)

青朷 2022-09-10 12:12:24

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

败给现实 2022-09-10 12:12:24

最后找到了原因,这困扰阻碍我两天的问题,竟然是因我在实际的第2个脚本中,将 onload 写成了 onLoad 之误。一个大写字母之差!遗憾 JetBrains 系列的 WebStorm、PhpStorm、IntelliJ 编辑器竟都不能给予代码书写错误提示。想念微软的 Visual Studio了!!

感谢楼上几位兄台的热心解答。你们说的是对的,这样没什么问题,是会正常运行的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文