Я показываю несколько эскизов изображений, и задержка может быть очень высокий (через VPN), поэтому я отправляю все эскизы в одном файле (например, спрайт) и устанавливаю свойства CSS background-image и background-position для div, чтобы отображать эскизы. Проблема, с которой я столкнулся, связана с IE6 и выяснением, когда изображение загружено ... Я использую хак BackgroundImageCache:
document.execCommand("BackgroundImageCache",false,true);
Чтобы проверить, когда изображение загружено, я использую этот код:
$('<img>').attr('src', 'ThumbSpriteTest.png').load(function() {
$('.Thumbnails').css('background-image', 'url(ThumbSpriteTest.png)');
});
Это работает во всех браузер, который я пробовал, кроме IE6 ... даже с взломом кеша он загружает изображение, запускает событие, устанавливает свойство background-image и снова загружает изображение (и мои элементы .Thumbnail пустые, пока он повторно загружается) .
Мне кажется, что взлом кеша меняет только поведение ссылок CSS, а не тега img. Как узнать, когда фоновое изображение загружено, не скачивая его дважды? Возможно ли это в IE6?
РЕДАКТИРОВАТЬ: Использование: document.execCommand ("BackgroundImageCache", true, true);
, похоже, работает (с обоими параметрами как «true»). У меня проблемы с поиском какой-либо документации по команде BackgroundImageCache и ее параметрам (я нашел множество примеров ее использования для решения проблемы с CSS, но все они используют false, true
в качестве параметров и не t объясните их) ... награда по-прежнему хороша для всех, у кого есть хорошая информация / документация по команде BackgroundImageCache и ее параметрам!
(Я не уверен, почему я так рад найти что-то, что работает после тратить столько часов из-за недостатков IE)