built-in lazy loading
O Google já tinha publicado um documento em janeiro de 2018 descrevendo o suporte a lazy-loading (carga tardia) de imagens e iframes que estão fora seção visível da página, e em março o Firefox também reportou que vai implementar. A equipe do Safari já tinha comentado que desejava implementar esta funcionalidade e com o Edge da Microsoft indo para Chromium , todos os principais navegadores vão implementae esta funcionalidade. O chrome 73 já tem esta funcionalidade de forma experimental para ativar basta acessar chrome://flags .
Então como podemos utilizar o lazy loading, bem é simples:
1 | <img src="myimage.jpg" loading="lazy" alt="..." /> |
O Atributo loading
O atributo loading permite um navegador retardar a carga de imagens e iframes que estejam fora da área visível até o usuário mover o scroll próximo de um atributo loading que pode ter um destes atributos:
- lazy: o elemento com este valor é um candidato a lazy-loading
- eager: o elemento não deve sofrer um lazy-loading
- auto: o navegador decide
Verificando se a funcionalidade está disponível
Para saber se a funcionalidade está disponível em seu browser é só verificar :
1 | <script> |
Simulando o lazy-loading com javascript
Caso você queira simular o comportamento do lazy-loading , este código javascript vai ajudar:
1 | <!-- Carga normal --> |
Para saber mais
Native image lazy-loading for the web!
Blink LazyLoad
After Chrome, Firefox will also support off-screen image lazy loading
lazysizes library