¿Evento LOAD (pagina totalmente cargada) en Javascript?

Desarrollo de aplicaciones basadas en tecnologías Mozilla (XBL-XUL-RDF...)
Destroy

¿Evento LOAD (pagina totalmente cargada) en Javascript?

Mensaje por Destroy » Vie Ene 26, 2007 2:28 pm

Muy buenas. En primer lugar, decir que es mi primera aparicion en el foro, pero me da la impresion que no será la última :)

Bueno, estoy trabajando en una extension. Resumiendo, se supone que al terminar de cargar una página, la extension buscara los elementos IMG y los ajustara al tamaño de la ventana. El problema es que, creando un listener al evento LOAD, el evento se dispara antes de que se haya cargado la página, y si por otro lado uso el DOMContentLoaded, se dispara antes y despues, pero por desgracia, una vez terminada la carga, el script no puede acceder a los elementos mediante el uso de getElementsByTagName.

Este script funciona perfectamente pasandolo a traves del GreaseMonkey, asi que imagino que lo que estoy haciendo mal es el uso del evento.

El codigo es algo asi:

Código: Seleccionar todo


window.addEventListener("DOMContentLoaded",evitar_descuadres,true);

function evitar_descuadres() {
	
var direcc;
var cadena;


direcc=window._content.document.location;
cadena=direcc.toString();

if (cadena.indexOf("elotrolado.net") > -1 || cadena.indexOf("eol.us") > -1 || cadena.indexOf("195.78.228.226") > -1 )
{
	var cabeceras, cabecera;
	cabeceras = document.getElementsByTagName('img');
//	alert(cabeceras.length);	
	for (var i = 0; i < cabeceras.length; i++) {
		
		cabecera = cabeceras[i];
		alert(cabecera.src);
		if (cabecera.getAttribute('width') > (screen.width-500))
		{
			cabecera.setAttribute('width',(screen.width-500));
		}
		if (cabecera.getAttribute('width') == null || cabecera.hasAttribute('width') == false)
		{
			var imagen=new Image();
			imagen.src=cabecera.getAttribute('src');
			if (imagen.width > (screen.width-500)) {
				imagen.width=(screen.width-500);
				cabecera.setAttribute('width',(screen.width-500));
			}
		}

	
	}
	//window.removeEventListener("DOMContentLoaded", evitar_descuadres, true);
	}
}


¿Alguna idea? ¿Alguien sabe que evento usar o como hacer que se dispare solo al terminar la carga?

Muchas gracias!! :D

oscarml

Re: ¿Evento LOAD (pagina totalmente cargada) en Javascript?

Mensaje por oscarml » Jue May 15, 2008 11:04 am

HOla,

Solucionaste el problema? a mi me pasa algo parecido!

Responder