Evento onreadystatechange de Internet Explorer

  • Por
El evento onreadystatechange sirve para realizar acciones cuando cambia el estado de carga de la página o de un elemento de ella.
Comenzaré hablando de este evento, porque lo voy a utilizar en uno de los próximos talleres de DOM Javascript, que vamos a publicar en DesarrolloWeb.com.

Este evento podemos aplicarlo a diversos elementos de la página, para saber su estado de carga. En este artículo vamos a trabajar con onreadystatechange sobre el objeto document, para que se ejecute a medida que carga la página. En este caso sirve para realizar acciones cuando la página va cambiando de estado de carga.

En Explorer hay definidos varios estados de carga, que se pueden leer con la propiedad document.readyState.

Con este script detectamos el momento en el que la página se ha cargado, para invocar una función inicializar().

document.onreadystatechange = function(){
   if(document.readyState=="complete")
      inicializar();
};


Pero el problema es que, tal como está el código, la función inicializar se ejecuta cuando se ha terminado de cargar la página y todos los elementos externos. He probado con otros estados de la propiedad readystate y nada. Si alguien puede encontrar una solución, por favor, publicarla como comentario en DesarrolloWeb.com. Luego veremos un truco para que esto funcione cuando sería más deseable, osea, cuando se ha cargado el DOM.

Hay que resaltar que el evento onreadystatechange es propio de Internet Explorer. Para Firefox y otros navegadores basados en Mozilla tenemos otro evento que sirve más o menos para lo mismo. Lee el siguiente artículo: alternativa a onreadystatechange para Firefox.