Я использую плагин JQuery, называемый лайтбокс (что здорово). Проблема в том, что я получаю доступ к изображениям на внешних сайтах и думаю, что они блокируют лайтбокс от их предварительной загрузки .
В частности, я подтвердил, что Picasa дает предварительному загрузчику 404 (с использованием firebug), но если я щелкну правой кнопкой мыши на неудавшемся запросе на вкладке firebug "net" и "Open in new tab", изображение загружается нормально.
Это происходит с любыми изображениями из Picasa, если только я их не просматривал (в этом случае я считаю, что они извлекаются из кэша браузера, а не загружаются снова)
Существует несколько различий между заголовками, отправляемыми браузером и прелоадером (также из firebug):
заголовок прелоадера «Принять»:
image/png,image/*;q=0.8,*/*;q=0.5
против загрузки изображения непосредственно в браузер:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Я подозреваю, что это один из способов, которым удаленный сервер может отличить запрос браузера от javascript. Что ты думаешь?
Кроме того, вот код прелоадера из плагина ... на всякий случай
// 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 ... не знаю, что с этим делать