1 回答
TA贡献2080条经验 获得超4个赞
首先,你声明了callback但从未给我们它。我想你的意思是这样的script.onload = callback;。
(function() {
var loadScript = function(data, callback) {
var script = document.createElement("script");
script.src = data.src;
script.onload = callback; // NEW LINE
if (data.opts) {
if (data.opts.async) script.async = data.opts.async;
}
document.body.appendChild(script);
};
var loadScriptRecursive = function(scripts, index) {
loadScript(scripts[index], function() {
if (++index < scripts.length) {
loadScriptRecursive(scripts, index);
}
});
};
让我们看看文档是怎么说的:
.ready() 方法提供了一种在页面的文档对象模型 (DOM) 变得可以安全操作后立即运行 JavaScript 代码的方法。
DOMContentLoaded 事件在初始 HTML 文档完全加载和解析后触发,无需等待样式表、图像和子框架完成加载。
在第一个示例中,DOMContentLoaded
加载 JS 文件后触发:
在第二个示例中,DOMContentLoaded
立即触发而不等待 JS 文件:
这就是为什么你需要使用$(window).on("load", function() {});
而不是$(document).ready(function() {});
- 1 回答
- 0 关注
- 70 浏览
添加回答
举报