HTML5

HTML

Tutorial HTML: Optimización de la carga de la página (Lazy loading)

HTML lazy loading: carga diferida. Domina la técnica de lazy loading en HTML para mejorar el rendimiento con ejemplos prácticos.

Aprende HTML GRATIS y certifícate

La optimización de la carga de la página, también conocida como "Lazy Loading", es una técnica de optimización web que carga los contenidos de la página solo cuando son necesarios. En lugar de cargar todo el contenido de una página de una sola vez, lazy loading solo carga los elementos que son visibles para el usuario, como las imágenes o los vídeos que están en la parte superior de la página. A medida que el usuario se desplaza hacia abajo, se cargan los demás elementos.

Esta técnica mejora la velocidad de carga de la página, reduce el uso de ancho de banda y mejora la experiencia del usuario, especialmente en dispositivos móviles o en conexiones a internet lentas.

En términos de HTML, la implementación de lazy loading puede realizarse utilizando el atributo loading en la etiqueta img y iframe. Este atributo tiene dos posibles valores: lazy y eager.

Cuando se usa loading="lazy", el navegador carga la imagen o el iframe solo cuando están cerca de la vista actual del usuario. Por ejemplo:

<img src="imagen.jpg" loading="lazy" alt="Imagen de prueba" />

Cuando se usa loading="eager", el navegador cargará el recurso inmediatamente, independientemente de donde se encuentre en la página. Este es el comportamiento predeterminado para las imágenes y iframes que no tienen un atributo loading especificado. Por ejemplo:

<img src="imagen.jpg" loading="eager" alt="Imagen de prueba" />

En el caso de imágenes muy grandes o de varios iframes en una sola página, el uso de loading="lazy" puede mejorar significativamente la velocidad de carga de la página.

Cabe mencionar que el atributo loading es una característica relativamente nueva en HTML y está soportada en la mayoría de los navegadores modernos, pero no en todos. Para soportar navegadores más antiguos, se pueden usar bibliotecas JavaScript como lozad.js o Intersection Observer API para implementar lazy loading.

Un ejemplo utilizando la biblioteca lozad.js sería:

<!-- HTML -->
<img data-src="imagen.jpg" class="lozad" alt="Imagen de prueba" />

<!-- JavaScript -->
<script src="lozad.min.js"></script>
<script>
  // Inicializa Lozad
  const observer = lozad();
  observer.observe();
</script>

En este caso, el atributo data-src contiene la ruta de la imagen a cargar y la clase lozad indica que esta imagen se debe cargar de manera diferida.

Un ejemplo con la Intersection Observer API de JavaScript sería:

let observer = new IntersectionObserver((entries, observer) => { 
  entries.forEach(entry => {
    if(entry.isIntersecting) {
      let img = entry.target;
      img.src = img.dataset.src;
      observer.unobserve(img);
    }
  });
});

document.querySelectorAll('img[data-src]').forEach(img => { 
  observer.observe(img); 
});

En este caso, se está creando un observador que vigila cuando las imágenes con el atributo data-src entran en el viewport del navegador, y entonces se carga la imagen.

Estos son solo algunos ejemplos de cómo implementar la carga diferida en HTML y JavaScript. La técnica exacta puede variar según el proyecto y las necesidades del mismo.

Aprende HTML GRATIS online

Ejercicios de esta lección Optimización de la carga de la página (Lazy loading)

Evalúa tus conocimientos de esta lección Optimización de la carga de la página (Lazy loading) con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Todas las lecciones de HTML

Accede a todas las lecciones de HTML y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Introducción A Html

HTML5

Introducción Y Entorno

Doctype

HTML5

Sintaxis Y Estructura

Elementos Y Etiquetas

HTML5

Sintaxis Y Estructura

Atributos

HTML5

Sintaxis Y Estructura

Anidación De Etiquetas

HTML5

Sintaxis Y Estructura

Comentarios

HTML5

Sintaxis Y Estructura

Encabezados (H1-h6)

HTML5

Textos Y Enlaces

Enlace (A)

HTML5

Textos Y Enlaces

Párrafo (P)

HTML5

Textos Y Enlaces

Listas (Ul, Ol, Li)

HTML5

Textos Y Enlaces

Imagen (Img)

HTML5

Textos Y Enlaces

División (Div)

HTML5

Estructura De Página

Etiquetas Semánticas (Article, Section, Header, Footer, Nav, Aside)

HTML5

Estructura De Página

Tablas (Table, Tr, Td, Th)

HTML5

Estructura De Página

Formularios (Form, Input, Select, Textarea, Button)

HTML5

Estructura De Página

Imágenes Vectoriales (Svg)

HTML5

Elementos Multimedia

Incrustación De Contenido (Iframe)

HTML5

Elementos Multimedia

Audio (Audio)

HTML5

Elementos Multimedia

Video (Video)

HTML5

Elementos Multimedia

Estilo Incorporado (Style)

HTML5

Metadatos Y Estilización Incorporada

Metadatos (Meta, Title, Link)

HTML5

Metadatos Y Estilización Incorporada

Atributos De Aria

HTML5

Metadatos Y Estilización Incorporada

Navegación Por Teclado

HTML5

Metadatos Y Estilización Incorporada

Contraste Y Legibilidad

HTML5

Características Avanzadas Y Optimización

Validación De Html

HTML5

Características Avanzadas Y Optimización

Compatibilidad Con Navegadores

HTML5

Características Avanzadas Y Optimización

Optimización De La Carga De La Página (Lazy Loading)

HTML5

Características Avanzadas Y Optimización

Accede GRATIS a HTML y certifícate

Certificados de superación de HTML

Supera todos los ejercicios de programación del curso de HTML y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender el concepto de lazy loading y su importancia para la optimización de la carga de páginas web.
  2. Aprender a implementar lazy loading utilizando el atributo loading en las etiquetas img e iframe en HTML.
  3. Familiarizarse con las bibliotecas JavaScript, como lozad.js, y la Intersection Observer API para implementar lazy loading en navegadores modernos y antiguos.
  4. Adquirir conocimientos sobre cómo cargar imágenes y elementos de manera diferida para mejorar el rendimiento de la página y la experiencia del usuario.