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
onloadstartcononload(é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>