Cómo ejecutar código JavaScript después de la carga de la página utilizando JS puro y jQuery

En este post, veremos cómo ejecutar código JavaScript después de la carga de la página utilizando JS puro y jQuery.

La biblioteca de JavaScript y jQuery ofrece varias formas de ejecutar una función después de que el DOM esté listo. Este post proporciona una visión detallada de los métodos para lograr esto.

JavaScript

En JavaScript puro, el método estándar para detectar una página completamente cargada es el uso de la propiedad del controlador de eventos onload. El evento load indica que todos los activos de la página web han sido cargados. Esto puede ser llamado con el window.onload en JavaScript.

1
2
3

window.onload = function() {
alert(‘Page is loaded’);
};

Edición en JSFiddle

El siguiente código utiliza el método addEventListener() para escuchar el evento load para detectar una página completamente cargada. Esto es equivalente al código anterior.

1
2
3

window.addEventListener(«load», function() {
alert(‘Page is loaded’);
});

Edición en JSFiddle

Aunque no es recomendable, también se puede llamar a una función de JavaScript en la carga de la página utilizando la etiqueta HTML <body>. La idea es utilizar el atributo onload en la etiqueta body.

1
2
3
4
5
6
7
8
9
10
11

<html>
<body onload=»loaded();» ></body>
<script>
function loaded() {
alert(‘La página está cargada’);
}
</script>
</html>

Edición en JSFiddle

Nota, que el evento DOMContentLoaded sería más apropiado si sólo necesitas que tu código se ejecute cuando el DOM esté completamente cargado, sin esperar a que las hojas de estilo y las imágenes terminen de cargarse.

1
2
3

document.addEventListener(«DOMContentLoaded», function() {
alert(‘Page is loaded’);
});

Edición en JSFiddle

jQuery

Con jQuery, se puede ejecutar código JavaScript tan pronto como el DOM esté completamente cargado utilizando el método .ready() que equivale a window.onload en JavaScript. Se puede utilizar cualquiera de las siguientes sintaxis, que son todas iguales:

  • $(document).ready(handler)
  • $(«document»).ready(handler)
  • $().ready(handler)
1
2
3

$(document).ready(function() {
alert(‘Page is loaded’);
});

Edición en JSFiddle

Alternativamente, se puede llamar a $(handler) que es equivalente a la sintaxis anterior:

1
2
3

$(function() {
alert(‘Page is loaded’);
});

Edición en JSFiddle

También puedes estar atento al evento load del objeto window utilizando el método $(window).on("load", handler).

1
2
3

$(window).bind(‘load’, function() {
alert(‘Page is loaded’);
});

Edición en JSFiddle

Deja una respuesta

Tu dirección de correo electrónico no será publicada.