この URL のサムネイルのキャッシュを使用しています
http://ts1.mm.bing.net/images/thumbnail.aspx?q=NUM&id=HASH
whereHASHとNUMare (どういうわけか) 特定のサムネイルへの参照です。
たとえば、NUM = 1148286928700とはこのサムネイルHASH = d2f4bbf91a853cefbc18794b6eb9ecddへの参照です。
もちろん、サムネイルは大きな画像よりもファイル サイズが小さいため、Yahoo! 最初にサムネイルのキャッシュからロードして、ユーザーに画像が何であるかを垣間見せ、バックグラウンドでフルサイズの画像をロードします。
彼らが使用する手法は、画像を隠しimgタグにロードし、その画像タグのイベントにバインドして、サムネイルをフルサイズの画像にload置き換える機能だと思われます。したがって、(非表示の) フルサイズの画像が読み込まれると、ページの読み込み時に表示されるサムネイル画像が置き換えられます。srcsrc
サムネイル画像がimgID のタグにロードされmain_image、フル サイズの画像がimgID の非表示タグに (バックグラウンドで) ロードされているとしますsecondary_image。次に、 のloadイベントにバインドし、ロード時にを#secondary_image置き換えます。src#main_image
$('#secondary_image').load(function() {
// on big image load, replace the src of the thumbnail image
$('#main_image').attr('src', $(this).attr('src'));
}
次に、ユーザーが別の画像を表示したい場合は、srcの#main_imageを別のキャッシュされたサムネイルに置き換え、srcの#secondary_imageを大きな画像に置き換え、イベントを再度バインドしloadます (理想的には、上記のコードで関数を作成し、これを呼び出します)を変更するたびに機能します#secondary_image src。