Что я только раньше не использовал для предварительной загрузки картинок, скрытые слои и различный ява код и всегда в каком нибудь да браузере не работало.
Повозившись с кодом jQuery получилось вот это:
1 2 3 4 5 6 7 8 9 10 11 | (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) |
Обязательно использовать полный путь до корня.
1 | jQuery.preLoadImages("img.gif", "/path/to/img.gif"); |
Работает везде где только мог проверить.
Полный пример используемый в проекте:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <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> |