И пример того, как это легко сделать.
<img src="/images/lazy.jpg" data-real-src="/images/company-1.jpg">
«lazy.jpg» можно использовать на всех изображениях, в результате чего будет загружено только одно изображение (и это изображение с небольшим весом 1x1px). Итак, подумайте, у меня есть список из 250 магазинов для посещения, с логотипом компании для каждого. Может выглядеть так:
<img src="/images/lazy.jpg" data-real-src="/images/company-1.jpg">
<img src="/images/lazy.jpg" data-real-src="/images/company-2.jpg">
<img src="/images/lazy.jpg" data-real-src="/images/company-3.jpg">
...
Тогда приходит волшебство!
Поместите это в свой файл JavaScript:
$('img[src="/images/lazy.jpg"]').each(function(index, el) {
$(el).attr('src', $(el).data('real-src'));
});
И, вака-вака, все изображения lazy.jpg будут заменены их "настоящими" изображениями. Цель - ускорить загрузку вашей html-страницы (поскольку все эти 250 компаний имеют одинаковый «логотип» в lazy.jpg :) ... Но JS позаботится обо всем после завершения загрузки DOM.
Это, конечно, решение jQuery. Можно сделать и с чистым js.