请问JavaScript是不是有限制:在动态加载的脚本中不可以再动态加载另一个脚本了?也就是说不可以连环动态加载?
高洛峰
高洛峰 2017-04-11 12:09:06
[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 中再动态加载另一个脚本,就不会触发加载成功的事件了(说明没有加载成功)。
这是为什么呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
怪我咯

并没有,会正常运行

高洛峰

路径对吗(凑字数)

ringa_lee

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

阿神

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号