一个页面上有两个 javascript 文件,它们都来自不同的域。现在第二个文件在第一个文件之前加载,因为第二个 javascript 文件的服务器响应时间大于第一个 javascript 文件的响应时间。第二个 javascript 文件依赖于第一个 javascript 文件中设置的某些函数,因此它会引发错误。
现在我的问题是:javascript 文件排序发生了吗?即它们是否按顺序执行?如果是,那么为什么首先执行第二个 javascript 文件并引发错误
一个页面上有两个 javascript 文件,它们都来自不同的域。现在第二个文件在第一个文件之前加载,因为第二个 javascript 文件的服务器响应时间大于第一个 javascript 文件的响应时间。第二个 javascript 文件依赖于第一个 javascript 文件中设置的某些函数,因此它会引发错误。
现在我的问题是:javascript 文件排序发生了吗?即它们是否按顺序执行?如果是,那么为什么首先执行第二个 javascript 文件并引发错误
如果您有脚本元素,它们将按照放置的顺序执行,除非您以编程方式加载它们或明确告诉它们使用 HTML5async
属性异步加载(低于 10 版的 IE 不支持该属性)。
脚本本身可能在它们内部具有异步行为,这可能导致它们以错误的顺序执行。
如果您通过 AJAX 加载两个脚本,则有两个函数(每个加载一个)并在第一个加载时调用第二个。像这样(下面只是一个例子):
function loadfirstscript()
{
var http = new XMLHttpRequest();
var url = "get_data.php";
http.open("GET", url, true);
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
//do something here...
loadsecondscript() //Call the second script
}
}
http.send(params);
}
编辑:对不起,如果这不能回答你的问题,但如果这不能回答你的问题,我不太确定你在问什么。