Tema 22 · Tecnologías Web

Iframes e Incrustación de Medios

Aprende a incrustar contenido web externo con <iframe>: reproductores de video de YouTube, mapas interactivos de Google Maps, atributo sandbox, lazy loading y diseño responsivo.

¿Qué es un <iframe>?

Un iframe (Inline Frame o marco en línea) es una etiqueta HTML que permite incrustar otro documento web completo e independiente dentro de tu propia página. Es el estándar universal para integrar videos de YouTube, mapas interactivos de Google Maps, pasarelas de pago y widgets de terceros.

<iframe src="https://www.youtube-nocookie.com/embed/LXb3EKWsInQ" 
        width="560" 
        height="315" 
        title="Video de Naturaleza en 4K" 
        loading="lazy" 
        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
        allowfullscreen>
</iframe>

1. Incrustación de Videos de YouTube

Para incrustar un video de YouTube, utiliza la URL oficial de incrustación (/embed/ID_DEL_VIDEO). Se recomienda utilizar el dominio de privacidad mejorada www.youtube-nocookie.com:

  • allowfullscreen: Habilita el botón nativo para expandir el video a pantalla completa.
  • allow="...": Concede permisos para aceleración de hardware, giroscopio y Picture-in-Picture.
  • title="...": Obligatorio por accesibilidad para lectores de pantalla.

2. Incrustación de Mapas con Google Maps

Google Maps permite compartir ubicaciones geográficas exactas generando un iframe con el parámetro output=embed o mediante su API de inserción:

<iframe src="https://maps.google.com/maps?q=Pereira,+Risaralda,+Colombia&t=&z=13&ie=UTF8&iwloc=&output=embed" 
        width="100%" 
        height="300" 
        title="Ubicación de Pereira, Risaralda" 
        loading="lazy" 
        style="border:0;">
</iframe>

Atributos Clave y Buenas Prácticas

Atributo Descripción
title Accesibilidad WCAG: Describe el contenido del marco para personas con discapacidad visual.
loading="lazy" Difiere la descarga del iframe hasta que el usuario hace scroll hacia él, ahorrando datos y acelerando la carga inicial.
allowfullscreen Permite que videos y mapas se expandan a pantalla completa en dispositivos compatibles.
sandbox Aislamiento de seguridad: Restringe la ejecución de scripts, formularios y almacenamiento local para proteger tu sitio de código externo no confiable.

⚡ Incrustación Interactiva: YouTube 4K y Google Maps (Pereira)

Observa cómo se integran dos iframes reales y funcionales: un video de naturaleza 4K y el mapa interactivo de Pereira, Colombia:

index.html
Solo lectura
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Demostración de Iframes HTML5</title>
  <style>
    body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; padding: 20px; background: #f8fafc; color: #1e293b; }
    .container { max-width: 620px; margin: 0 auto; }
    .card { background: white; border: 1px solid #cbd5e1; border-radius: 12px; padding: 20px; margin-bottom: 20px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); }
    .media-box {
      position: relative;
      width: 100%;
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid #e2e8f0;
      background: #0f172a;
      margin-top: 10px;
    }
    .video-aspect {
      aspect-ratio: 16 / 9;
    }
    .map-aspect {
      height: 280px;
    }
    iframe {
      width: 100%;
      height: 100%;
      border: none;
      display: block;
    }
    .badge {
      display: inline-block;
      padding: 3px 8px;
      border-radius: 4px;
      font-size: 0.75rem;
      font-weight: 600;
      background: #e0f2fe;
      color: #0369a1;
      margin-bottom: 8px;
    }
  </style>
</head>
<body>

<div class="container">

  <!-- 1. Video de Naturaleza en 4K desde YouTube -->
  <div class="card">
    <span class="badge">YouTube 4K Ultra HD</span>
    <h3 style="margin: 0; color: #0f172a;">Video de Naturaleza en 4K</h3>
    <p style="font-size: 0.88rem; color: #64748b; margin: 6px 0 12px 0;">
      Incrustado usando el reproductor responsivo de YouTube con privacidad mejorada:
    </p>

    <div class="media-box video-aspect">
      <iframe src="https://www.youtube-nocookie.com/embed/LXb3EKWsInQ" 
              title="Costa Rica en 4K Ultra HD - Naturaleza" 
              loading="lazy"
              allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
              allowfullscreen>
      </iframe>
    </div>
  </div>

  <!-- 2. Mapa Interactivo de Google Maps: Pereira, Colombia -->
  <div class="card">
    <span class="badge">Google Maps Interactivo</span>
    <h3 style="margin: 0; color: #0f172a;">Mapa de Pereira, Colombia</h3>
    <p style="font-size: 0.88rem; color: #64748b; margin: 6px 0 12px 0;">
      Vista satelital y callejera de la ciudad de Pereira (Eje Cafetero):
    </p>

    <div class="media-box map-aspect">
      <iframe src="https://maps.google.com/maps?q=Pereira,+Risaralda,+Colombia&amp;t=&amp;z=13&amp;ie=UTF8&amp;iwloc=&amp;output=embed" 
              title="Mapa de Pereira, Risaralda, Colombia" 
              loading="lazy"
              allowfullscreen>
      </iframe>
    </div>
  </div>

</div>

</body>
</html>
Pruébalo tú mismo » Se abre en una nueva pestaña con ejecución en vivo
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar Manual Completo de HTML5 y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.