El Atributo ONLOADSTART

Es un evento HTML que se dispara cuando el navegador comienza a cargar un recurso.
El atributo onloadstart
es un evento HTML que se dispara cuando el navegador comienza a cargar un recurso (imagen, video, iframe, etc.). Es útil para mostrar indicadores de carga o inicializar acciones al inicio de una carga.
Sintaxis Básica
<elemento onloadstart="funcionEjecutar()" ... >
-
elemento: Cualquier elemento HTML que cargue recursos (
<img>
,<video>
,<iframe>
). -
funcionEjecutar(): Función JavaScript que se ejecutará al iniciar la carga.
Ejemplo con Imagen
Objetivo: Mostrar un mensaje mientras la imagen se carga.
<img src="imagen-grande.jpg" onloadstart="mostrarCarga('imagen')" onload="ocultarCarga('imagen')" > <div id="mensajeCargaImagen"></div> <script> function mostrarCarga(tipo) { document.getElementById(`mensajeCarga${tipo}`).textContent = `Cargando ${tipo}... ⌛`; } function ocultarCarga(tipo) { document.getElementById(`mensajeCarga${tipo}`).textContent = ""; } </script>
Resultado: Muestra "Cargando imagen... ⌛" al inicio y lo oculta cuando termina.
Ejemplo con Video
Objetivo: Activar un spinner durante la carga del video.
<video controls onloadstart="mostrarSpinner()" oncanplaythrough="ocultarSpinner()" > <source src="video.mp4" type="video/mp4"> </video> <div id="spinner">⏳ Cargando video...</div> <script> function mostrarSpinner() { document.getElementById("spinner").style.display = "block"; } function ocultarSpinner() { document.getElementById("spinner").style.display = "none"; } </script>
Nota: oncanplaythrough
se dispara cuando el video está listo para reproducirse.
Buenas Prácticas
-
Combina eventos: Usa
onloadstart
cononload
(éxito) yonerror
(fallo) para manejar diferentes estados. -
Optimiza experiencia de usuario: Muestra indicadores de carga para recursos pesados.
-
Accesibilidad: Añade mensajes de texto para usuarios con lectores de pantalla.
Compatibilidad
Navegadores modernos: Chrome, Firefox, Safari, Edge (versiones actualizadas).
Alternativas: Para soporte antiguo, usa addEventListener
:
document.getElementById("miVideo").addEventListener("loadstart", function() { // Acciones aquí });
Conclusión
El atributo onloadstart
es una herramienta valiosa para mejorar la interacción usuario-recurso al proporcionar retroalimentación inmediata durante cargas. ¡Experimenta combinándolo con otros eventos para crear interfaces más dinámicas!
Ejemplo Final
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Tutorial: Uso del atributo "onloadstart" en HTML</title> <style> .cargando { color: blue; font-weight: bold; } #mensajeCarga { display: none; } </style> </head> <body> <h1>Cómo usar el atributo <code>onloadstart</code> en HTML</h1> <!-- Paso 3: Ejemplo con una imagen --> <h2>Ejemplo 1: Imagen</h2> <img src="https://ejemplo.com/imagen-grande.jpg" alt="Imagen de ejemplo" onloadstart="mostrarCarga('imagen')" onload="ocultarCarga('imagen')" > <div id="mensajeCargaImagen" class="cargando"></div> <!-- Paso 4: Ejemplo con un video --> <h2>Ejemplo 2: Video</h2> <video controls onloadstart="mostrarCarga('video')" onloadeddata="ocultarCarga('video')" > <source src="https://ejemplo.com/video.mp4" type="video/mp4"> </video> <div id="mensajeCargaVideo" class="cargando"></div> <script> // Funciones para manejar eventos function mostrarCarga(tipo) { document.getElementById(`mensajeCarga${tipo.charAt(0).toUpperCase() + tipo.slice(1)}`).innerHTML = `Cargando ${tipo}... ⌛`; document.getElementById(`mensajeCarga${tipo.charAt(0).toUpperCase() + tipo.slice(1)}`).style.display = 'block'; } function ocultarCarga(tipo) { document.getElementById(`mensajeCarga${tipo.charAt(0).toUpperCase() + tipo.slice(1)}`).style.display = 'none'; } </script> </body> </html>