Я использую механизм lazyload, который загружает только соответствующие изображения, когда они находятся в окне просмотра пользователей.
Для этого я определил атрибут data-src
, который ссылается на исходное изображение и изображение с заполнителем на основе base64 как src
, чтобы сделать HTML действительным.
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-src="/path/to/image.png" alt="some text">
Я заметил, что chrome кэширует строку base64, но строка довольно длинная и раздувает мой HTML (у меня много изображений на странице).
Итак, мой вопрос в том, лучше ли использовать небольшое кодированное base64 или 1px x 1px изображение-заполнитель?
Примечание:
Для целей SEO элемент должен быть img
. Также мой HTML должен быть действительным, поэтому требуется атрибут src
.