IE6: Событие загрузки фонового изображения

Я показываю несколько эскизов изображений, и задержка может быть очень высокий (через 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)

18
задан toby 14 June 2011 в 15:13
поделиться