gpt4 book ai didi

javascript - 异步加载 js 脚本 - 保证它们以正确的顺序加载

转载 作者:行者123 更新时间:2023-11-28 08:10:41 24 4
gpt4 key购买 nike

我正在尝试使用以下代码异步加载我的js文件:

function load_js() {
var scripts = [
'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',
'http://code.jquery.com/ui/1.10.2/jquery-ui.min.js',
'/js/libs/joose.min.js',
'/js/observer.js',
'/js/resume-library.js'
];

for( var i = 0; i < scripts.length; i++){
var element = document.createElement("script");
element.src = scripts[i];
document.body.appendChild(element);
}
}
if (window.addEventListener)
window.addEventListener("load", load_js, false);
else if (window.attachEvent)
window.attachEvent("onload", load_js);
else window.onload = load_js;

但是,顺序并不总是遵循数组的顺序,有时文件可能需要更长的时间来加载等。

如何保证文件按照数组的顺序加载?

最佳答案

试试这个。它使用 http://msdn.microsoft.com/en-us/library/ie/hh180173%28v=vs.85%29.aspx 中的方法附加到加载脚本后调用的事件。

function load_js() {
var scripts = [
'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',
'http://code.jquery.com/ui/1.10.2/jquery-ui.min.js',
'/js/libs/joose.min.js',
'/js/observer.js',
'/js/resume-library.js'
];


function loadNext(){
var src = scripts.shift();
if (typeof src === 'undefined')
return;

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

s.src=src;
if(s.addEventListener) {
s.addEventListener("load",loadNext,false);
}
else if(s.readyState) {
s.onreadystatechange = loadNext;
}
document.body.appendChild(s);
}
}

loadNext();
}

关于javascript - 异步加载 js 脚本 - 保证它们以正确的顺序加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24268791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com