4
$.getScript("somescript.js", function() {
    alert('Load Complete');
});
  1. 一度読み込まれるとキャッシュされますか、それとも複数回参照された場合は再度読み込まれますか?
  2. イベントがロードされているこのファイルに依存している場合、ファイルのロードに時間がかかるかロードされない場合、イベントは失敗/タイムアウトで遅延しますか?
  3. 何らかの理由でファイルの読み込みに失敗した場合、どうすれば確認して何かを行うことができますか?

よろしくお願いします。

4

2 に答える 2

6

1) $.ajax() 関数でオプションとして指定しない限り、AJAX を介したスクリプトの jQuery リクエストはキャッシュされません。ドキュメントから:

"キャッシュ、ブール値

デフォルト: true、dataType 'script' および 'jsonp' の場合は false

false に設定すると、リクエストしたページがブラウザによってキャッシュされないように強制されます。」

2)質問のこの部分を理解するには、サンプルコードを見る必要があると思います。

3) $.getScript() が失敗した場合、何もできません。ただし、$.getScript() は $.ajax() の簡略版であり、以下と同等であることに注意してください。

$.ajax({
  url: url,
  dataType: 'script',
  success: function(data) {
    //
  }
});

これは、コールバックを実装してerror、ファイルの読み込みに失敗した場合に何か賢いことを行うことができることを意味します。

$.ajax({
  url: url,
  dataType: 'script',
  success: function(data) {
    //
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
    alert("panic");
  }
});
于 2010-04-26T06:25:41.853 に答える