次のような状況があります。
サードパーティがホストするいくつかの外部画像をロードする必要があります。URL の例は次のとおりです。
http://externaldomain.com/img/a/b/someimage.jpg
ただし、1 つの画像を読み込むのに最大 15 秒かかる場合があります。(私が知っているクレイジー)、jQueryを使用してこれらの画像を非同期にロードすることを考えています。ここで行き詰まっています。次の2つの方法を試しました。
var img = new Image();
$(img).load(function () {
containerForImg.removeClass('loading-image').append(this);
})
.attr('src', imgFullPath)
.attr('alt', imgAltText);
リクエストが完了する前にすべての画像を待機し続けるため、上記のコードは画像を非同期的にロードしないと思います。
2 つ目の方法は、
ジェネリック ハンドラー (.ASHX) を作成して .NET からクラスを使用して画像をダウンロードし、WebRequest
このWebResponse
ハンドラーを$.ajax()
jQuery メソッドで呼び出すことですが、画像が多いと画面が応答しなくなります。ハンドラーへのリクエストが非同期であることは確認できますが、ハンドラー内の呼び出しが非同期なのか気になります。
結論は、どちらの方法も最良の結果をもたらさないということです。では、外部画像を非同期的にロードする最良の方法は何ですか? jQuery の使用だけに限定されているわけではありません。純粋な ASP.NET ソリューションで問題ありません。