Javascript 使用jQuery$.getScript()方法按给定顺序加载多个JS文件
我已经先加载了jQuery,并尝试使用下面的方法加载一些js文件 注意:“daterangepicker.js”需要“矩.js” 但我犯了个错误 未捕获类型错误:力矩不是函数 然后我尝试了第二种方法Javascript 使用jQuery$.getScript()方法按给定顺序加载多个JS文件,javascript,jquery,ajax,momentjs,daterangepicker,Javascript,Jquery,Ajax,Momentjs,Daterangepicker,我已经先加载了jQuery,并尝试使用下面的方法加载一些js文件 注意:“daterangepicker.js”需要“矩.js” 但我犯了个错误 未捕获类型错误:力矩不是函数 然后我尝试了第二种方法 $.when( $.getScript("https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js").done(function() { $.getScript("https://cdn.j
$.when(
$.getScript("https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js").done(function() {
$.getScript("https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.js").done(function() {
alert("scripts loaded");
});
}),
$.getScript("1.js"),
$.getScript("2.js"),
$.getScript("3.js"),
$.Deferred(function(deferred) {
$(deferred.resolve);
})
).done(function() {
alert("All js files are loaded");
$('input[name=\'time\']').daterangepicker();
});
这次我得到了
daterangepicker不是一个函数
因为“所有js文件都已加载”警报将排在第一位&“脚本加载”警报将排在第二位。我实现了一个新的逻辑
function getScripts(scripts, callback, i) {
i = i ? i : 0;
$.getScript(scripts[i]).done(function() {
++i === scripts.length ? callback() : getScripts(scripts, callback, i);
});
}
getScripts(
[
"https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js",
"https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.js",
"1.js",
"2.js",
"3.js"
],
function() {
alert("all files are loaded");
$('input[name=\'time\']').daterangepicker();
});
工作如期进行
function getScripts(scripts, callback, i) {
i = i ? i : 0;
$.getScript(scripts[i]).done(function() {
++i === scripts.length ? callback() : getScripts(scripts, callback, i);
});
}
getScripts(
[
"https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js",
"https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.js",
"1.js",
"2.js",
"3.js"
],
function() {
alert("all files are loaded");
$('input[name=\'time\']').daterangepicker();
});