私はlightboxと呼ばれるJQueryプラグインを使用しています(これは素晴らしいことです)。問題は、外部サイトの画像にアクセスしていて、ライトボックスによる画像のプリロードをブロックしていると思うことです。
具体的には、picasaがプリローダーに404(firebugを使用)を提供することを確認しましたが、firebugの[ネット]タブで失敗したリクエストを右クリックすると、[新しいタブで開く]画像が正常に読み込まれます。
これは、picasaの画像で発生します。ただし、既に表示している場合を除きます(この場合、画像を再度読み込むのではなく、ブラウザのキャッシュから取得すると思います)。
ブラウザとプリローダー(これもfirebugから)によって送信されるヘッダーにはいくつかの違いがあります。
プリローダーの「Accept」ヘッダーは次のとおりです。
image/png,image/*;q=0.8,*/*;q=0.5
対ブラウザに直接画像をロードする:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
これは、リモートサーバーがブラウザのリクエストとJavaScriptを区別できる1つの方法だと思います。どう思いますか?
また、これがプラグインのプリローダーコードです...念のため
// Image preload process
var objImagePreloader = new Image();
objImagePreloader.onload = function() {
$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);
// Perfomance an effect in the image container resizing it
_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
// clear onLoad, IE behaves irratically with animated gifs otherwise
objImagePreloader.onload=function(){};
};
objImagePreloader.src = settings.imageArray[settings.activeImage][0];
アップデート
どうやらpicasaは、DOMの一部であるか、JavaScriptを介してプリロードされているかにかかわらず、フルサイズの画像を表示することをまったく妨げているようです...これについてどうしたらよいかわかりません