Что я только раньше не использовал для предварительной загрузки картинок, скрытые слои и различный ява код и всегда в каком нибудь да браузере не работало.
Повозившись с кодом jQuery получилось вот это:
(function($) {
var cache = [];
$.preLoadImages = function() {
var args_len = arguments.length;
for (var i = args_len; i--;) {
var cacheImage = document.createElement('img');
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
}
})(jQuery)
Обязательно использовать полный путь до корня.
jQuery.preLoadImages("img.gif", "/path/to/img.gif");
Работает везде где только мог проверить.
Полный пример используемый в проекте:
<script type="text/javascript">
(function($) {
var cache = [];
$.preLoadImages = function() {
var args_len = arguments.length;
for (var i = args_len; i--;) {
var cacheImage = document.createElement('img');
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
}
})(jQuery)
jQuery.preLoadImages("{theme}img/cars.polo_b.gif", "{theme}img/cars.polo_sedan_b.gif","{theme}img/cars.golf_b.gif","{theme}img/cars.golf_plus_b.gif","{theme}img/cars.golf_gti_b.gif","{theme}img/cars.jetta_b.gif","{theme}img/cars.touran_b.gif","{theme}img/cars.passat_b.gif","{theme}img/cars.passatCC_b.gif","{theme}img/cars.passat_variant_b.gif","{theme}img/cars.tiguan_b.gif","{theme}img/cars.touareg_b.gif","{theme}img/cars.faeton_b.gif","{theme}img/cars.scirocco_b.gif");
</script>