0

一个页面上有两个 javascript 文件,它们都来自不同的域。现在第二个文件在第一个文件之前加载,因为第二个 javascript 文件的服务器响应时间大于第一个 javascript 文件的响应时间。第二个 javascript 文件依赖于第一个 javascript 文件中设置的某些函数,因此它会引发错误。

现在我的问题是:javascript 文件排序发生了吗?即它们是否按顺序执行?如果是,那么为什么首先执行第二个 javascript 文件并引发错误

4

2 回答 2

1

如果您有脚本元素,它们将按照放置的顺序执行,除非您以编程方式加载它们或明确告诉它们使用 HTML5async属性异步加载(低于 10 版的 IE 不支持该属性)。

脚本本身可能在它们内部具有异步行为,这可能导致它们以错误的顺序执行。

于 2012-06-20T07:27:52.790 回答
-1

如果您通过 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);
}

编辑:对不起,如果这不能回答你的问题,但如果这不能回答你的问题,我不太确定你在问什么。

于 2012-06-20T10:11:03.790 回答