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