w3schools vanilla div body javascript onload onload-event

vanilla - JavaScript evento window.onload no activado



window.onload=function() javascript (7)

Creo que lo que probablemente está sucediendo aquí es que su window.onload se anula más tarde, verifique para asegurarse de que no sea a través de cosas como <body onload="">

Puede verificar esto por alert(window.onload) en su función de cambio de tamaño, para ver lo que realmente está adjunto allí.

Tengo el siguiente código en un sitio web:

window.onload = resize; window.onresize = resize; function resize(){ heightWithoutHeader = (window.innerHeight - 85) + "px"; document.getElementById("main-table").style.height = heightWithoutHeader; document.getElementById("navigation").style.height = heightWithoutHeader; }

El onresize funciona bien, pero el evento onload nunca se dispara. Lo probé en Firefox y Chrome y ninguno de ellos funciona.

¡Gracias por tu ayuda y busca la reputación! ;RE


Esto funciona para mí, creo que tu problema está en otra parte:

function resize(){ var tester = document.getElementById("tester"), html = tester.innerHTML tester.innerHTML = html + "resize <br />" } window.onload = resize; window.onresize = resize;

puede probarlo usted mismo aquí: http://jsfiddle.net/Dzpeg/2/

¿estás seguro de que es el único evento llamado onLoad? Tal vez otro evento onLoad cree un conflicto


Esto funcionará cuando llame a "window.onload" junto a la función resize ()


Esto sucedió cuando agregué el código jQuery de terceros que necesitábamos para un socio. Podría haber convertido fácilmente mi ventana anticuada. Descargar en un documento jQuery listo. Dicho esto, quería saber si hay una solución compatible con navegadores cruzados.

¡Ahi esta!

window.addEventListener ? window.addEventListener("load",yourFunction,false) : window.attachEvent && window.attachEvent("onload",yourFunction);

Sepa que lo sé, puedo convertir mi código para usar la ruta jQuery. Y le pediré a nuestro socio que refactorice su código para que dejen de afectar los sitios.

Fuente donde encontré la solución -> http://ckon.wordpress.com/2008/07/25/stop-using-windowonload-in-javascript/


Mueva la línea window.onload al final del archivo javascript o después de la función inicial y funcionará:

function resize(){ heightWithoutHeader = (window.innerHeight - 85) + "px"; document.getElementById("main-table").style.height = heightWithoutHeader; document.getElementById("navigation").style.height = heightWithoutHeader; } // ... // at the end of the file... window.onload = resize; window.onresize = resize;

Pero es una mejor práctica si no reemplazas la carga también. En su lugar, adjunte su función al evento de carga:

function resize(){ heightWithoutHeader = (window.innerHeight - 85) + "px"; document.getElementById("main-table").style.height = heightWithoutHeader; document.getElementById("navigation").style.height = heightWithoutHeader; } // ... // at the end of the file... window.addEventListener ? window.addEventListener("load",resize,false) : window.attachEvent && window.attachEvent("onload",resize);

Eso funcionó para mí y lo siento por mi inglés.


Para mí, window.onload no funcionaba cuando escribí dentro de script type="text/javascript tag.

En cambio, necesitaba escribir lo mismo en script language="Javascript" type="text/javascript tag y funcionó bien.


Si es realmente en ese orden, definitivamente no va a funcionar. No puede asignar una función a un controlador de eventos antes de que se declare la función en sí.