0

ページには 2 つの JavaScript ファイルがあり、どちらも異なるドメインからのものです。2 番目の JavaScript ファイルのサーバー応答時間が最初の JavaScript ファイルよりも長いため、2 番目のファイルが最初のファイルよりも先にロードされます。2 番目の JavaScript ファイルは、最初の JavaScript ファイルで設定された関数に依存しているため、エラーがスローされます。

私の質問は次のとおりです。javascriptファイルの順序付けは行われますか? つまり、それらは順次実行されますか? はいの場合、2 番目の JavaScript ファイルが最初に実行され、エラーがスローされるのはなぜですか

4

2 に答える 2

1

スクリプト要素がある場合、それらをプログラムでロードするか、明示的に HTML5async属性 (バージョン 10 未満の IE ではサポートされていません) を使用して非同期的にロードするように指示しない限り、それらは配置された順序で実行されます。

スクリプト自体が内部で非同期動作をしている可能性があり、その結果、スクリプトが間違った順序で実行されているように見える可能性があります。

于 2012-06-20T07:27:52.790 に答える
-1

AJAX 経由で 2 つのスクリプトをロードする場合は、2 つの関数 (それぞれをロードする関数) を用意し、最初の関数がロードされたときに 2 番目の関数を呼び出します。そのように(以下は単なる例です):

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 に答える