クロールとおっしゃっていましたので、複数ページの可能性もあると思います。以下は、url の配列からページをロードし、成功したロードを結果に格納します。各ロード (またはのcomplete
後に呼び出される)で、remainingUrls (プログレスバーの更新に役立つ可能性があります) を減らし、すべてのページが処理された後にメソッドを呼び出すことができます。success
error
(!remainingUrls)
これがやり過ぎの場合は、その$.ajax
部分を使用して に置き換えmyUrls[i]
てvideo.html
ください。type
別のスクリプトが ajax のデフォルトのタイプを POST に変更するケースに遭遇したため、唯一を指定します。php や aspx などの動的ページをロードしている場合、cache
セッションごとにこれを複数回呼び出す場合にも、このプロパティが役立つ場合があります。
var myUrls = ['video1.html', 'video2.html', 'fail.html'],
results = [],
remainingUrls;
$(document).ready(function () {
remainingUrls = myUrls.length;
for (var i = 0, il = myUrls.length; i < il; i++) {
$.ajax({
url: myUrls[i],
type: 'get', // somebody might override ajax defaults
cache: 'false', // only if you're getting dynamic pages
success: function (data) {
console.log('success');
results.push(data);
},
error: function () {
console.log('fail');
},
complete: function() {
remainingUrls--;
if (!remainingUrls) {
// handle completed crawl
console.log('done');
}
}
});
}
});